Refactor so that requirements module is responsible for parsing requirements of different flavors and sources.

This will make it easier to handle VCS requirements that pip accepts but aren't valid in setuptools.
tests for requirements parsing
vcs url parsing test
test vcs requirement handling
more robust / cleaner handling of vcs requirement strings
update README
fix handling of vcs requirements in requirements.txt