Initial add of Selenium test suite

This has tests that exercise:
* authentication (register, login/out, profile, course designer, loading/saving activecode blocks) using Web2Py authentication
* various directives (polls, reveals, multiple choice, fill-in-the-blank)
* codelens
* All Activecodes in thinkcspy and pythonds. (Note that errors in Activecode blocks will *not* cause the test to fail. Rather, the ID of the block that failed is printed to the console)
* DOM access

Includes some basic tests of the layout (making sure links work, menus drop down, etc).

There are also a few minor bugfixes for stuff I encountered while writing the tests.

Also adds a parameter to 1.py that allows registration captchas to be turned on or off.

I'm using the Python unittest framework to structure the tests. As much as possible, I separated each test into it's own unittest method. However, authentication is pretty order-sensitive (login has to happen before logout, for example), so the `test_auth.py` file runs all the tests in one go.