[bug 987801] peep-ify requirements

* creates a requirements.txt file with all the things that are in
  vendor/
* tweak fjord/manage.py so that it adds the vagrant virtualenv to
  sys.path if it's there and if not, adds vendor/ to site packages;
  this isn't a super great solution, but it's probably a good enough
  interim one while we're switching from one way of doing things to
  another
* changes vagrant_provision.sh to build a virtual environment--this
  speeds ./manage.py stuff up significantly
* adds sha checksums to compiled.txt requirements file
[bug 987801] Exit if requirements are mismatched

This adds some code that gets run via ./manage.py which will cause it to
exit if the dependencies specified in the requirements file don't match
what's installed in the virtual environment.

It can't effectively check requirements specified by github tarball url.
For those, it puts them in another list and then tells you how many it
can't check. Going forward, we should reduce the number of these because
we can't do a lot about them.

It lets you quell the check with SKIP_CHECK=1.
Redo how we figure out whether to use vendor/

This adds a line so that it automatically activates the virtual
environment when you do "vagrant ssh". This makes "./manage.py" work
fine as well as the code for determining whether requirements are
mismatched.

This changes fjord/manage.py such that it (ab)uses the fact we're in
vagrant and know wehre the virutal environment is to figure out whether
to enable the vendor/ stuff or not. This is just a stopgap until we
remove vendor/ altogether.