Add a step for visiting a site page

Usually we want to visit a page on the test server. Make that easier.
Fix some PEP8 noise
Support for accepting and dismissing alerts
Steps relating to tooltips
I click on label

This is used for clicking on a label and focusing an element. Useful for
accessibility testing, and for dealing with radios and checkbuttons.
Assert value of a form field
More code cleanups

Add some pylint ignores, a few of these should probably be removed later
on, but there's too many things for now.
Check for options in select
Move django into a separate file

Breaks tests to have Django support as part of the main namespace.
Add a requirements.txt for setting up a virtualenv
Massive refactoring of the unit tests

Reduce code duplication by making decorating the test methods to wrap
common code. Possibly not the most unopaque way of doing this, but it's
attractive. Plus nose automatically returns the feature name when a test
fails.
Set test names to something meaningful
Track failed and skipped steps too
Add some debugging to the test suite

This allows us to work out what actually failed.
Add remaining steps and unit tests for alerts
Tooltip tests and improvements

IXA version didn't support hidden items.
Add focus step and tests for labels + focus
Replace use of //*[@id=...] with id()

Should be slightly faster, similar to doing a #id lookup vs an attribute
lookup.
Tests for items present in options
Counter test for option selectors