This code comes from: davidfischer/requirements-parser

See: https://github.com/davidfischer/requirements-parser

It is bundled out of necessity due to constraints of the
Snyk CLI plugin architecture.

PLEASE NOTE: There have been some minor modifications. These are
called out at the top of a modified file.
