Add dependencies to setup.py

This commit adds dependencies to setup.py, which should make it easier to install Decaf using pip or easy_install.

For example, you can now run `pip install -e ".[demo]"` to perform an editable local install that includes the extra dependencies for running the demo site.

To discover the dependencies, I used [snakefood](http://furius.ca/snakefood/) to find [all imports](https://gist.github.com/JoshRosen/7668400)

    sfood-imports ./decaf | cut -d' ' -f2 | sort -u

I also made a few minor changes to improve error messages if the C extensions couldn't be built or if the Python version is older than 2.7.