Added nose and lettuce test infrastructure

Basic testing infrastructure for nosetests and lettuce.  Use `./manage.py test` to run the unit tests and `./manage.py harvest` to run the lettuce tests.

* Moved `settings.py` to a top-level package and created test settings that inherit from the base settings.
* Moved `requirements.txt` to a top-level "requirements" directory and added separate test-specific requirements
* Updated Travis configuration to run nose and lettuce tests.
* Added example BDD spec and Python step implementation to each Django app (lettuce requires at least one feature file)
* Coverage results for the unit test will be printed to the console.  To generate HTML reports, first run the test suite, then run `coverage html`.  The generated reports will be saved to `edx-tim/htmlcov`.

I may need to update this PR depending on what the Travis build results show.