Calibrate dependencies & configurationize Selenium

* Enable configuration of Selenium webdriver via environment variables to
  specify Chrome or Firefox (and hopefully in the future other things)
* Enable conditional imports of non-critical, non-unit-tested libraries so that
  their installation can be avoided when unnecessary.
* Creates suggested_requirements.txt to document which libraries these are and
  give users a chance to pip install -r them all.
* Per Chef recipes, pin Django >= 1.4.1, django-storages >= 1.1.6,
  boto >= 2.7.0. Per comments previously in README_SETUP.md, pin
  gdata == 2.0.17. Pin selenium version >= 2.30 so it works with recent
  firefoxes.
* Update documentation to reflect requirements.txt and
  suggested_requirements.txt as the final source of truth for Python
  dependencies.
** It should now be possible to have Chef install via requirements.txt
   and suggested_requirements.txt, just like we tell users to.
* Update to student video unit tests so only one video is actually
  checked (if one works, all should work, unless the fixtures are
  wrong.)
* Configure Travis to use Firefox with the Adobe Flash plugin installed for
  Selenium testing. This fixes Selenium testing on the grid. (closes #2272)