Add requirements.txt to gh-pages branch

Replaces #100 , so as to allow merge into `gh-pages` branch: add requirements.txt with necessary dependencies to run validator and lesson build process. Tested on clean virtual env (python 2).
I removed requirements.txt from this branch (using a straight `git rm`). 

Per your question: I can only speak as a developer, but it seems there should always be one unambiguous master. In our setup, both branches contain some of the master project files. `gh-pages` was, in my thinking, an example lesson: a child that builds on core, *always* downstream and therefore trivially easy to update.

The problem is that `gh-pages` contains the master copy of things like `DESIGN.md`, `FAQ.md`, `'LAYOUT.md`, and `README.md`. These files don't live on `core` at all, forcing developers to commit to two separate branches to maintain basic project files. What if project documentation lived in a subdirectory in `core` instead?