Add AnswerForm, add selenium tests, add ajax error handling

The AnswerForm works and loads up the answer dynamically.  It needs to
be hideable though

I changed how selenium testing works.  I got rid of SeleniumTest as a
test class, and made a module-level DRIVER class, so that the driver can
be shared between all classes.  I made a SeleniumFormTest class that
makes testing forms a bit easier

I added in the ability to generate json_errors to bound_form
functionality, and this is useful for visualizing errors for forms that
are submitted by ajax.

This should be propogated to all ajax endpoints and ajax forms.

the add-letter form (and resend letter form?) currently duplicate
functionality provided by ajax_form (they were a precursor), so they
should use ajax_form for more dryness.
nothing
Add form-hiding behavior when a new answer is submitted.

Add testing for the above functionality.
Re-add SeleniumTestCase for live server testing

I had gotten rid of the SeleniumTestCase in favor of creating a
module-wide selenium web-driver that would be shared between
`LiveServerTestCase`s.  But this sharing was causing problems.

I reverted back to the approach of defining a `SeleniumTestCase` which is
an abstract test case which extends `LiveServerTestCase`, and which
provides `driver` and `wait` attributes.  The driver is created and
destroyed for each `SeleniumTestCase`

`SeleniumFormTestCase` once again extends `SeleniumTestCase`.
Rename SeleniumFormTest inside test.py
merging in questions... issues to resolve
still resolving issues
false commit to force update ask_questions.html
Merge branch 'questions'

I merged in my latest changes, as well as squashed bugs that arose due
to merge conflicts.

A few things worth noting:
	- Some javascript errors had been introduced to the master PRIOR to
	  the merge, and this cause scripts all over the site to hault.
	- There were several cases where NEWER changes were ignored, NEW
	  files ignored, and or were overwritted by OLDER versions during
	  the merge process.  This is weird because git should be able to
	  tell what is new and what is old.  One reason this might happen is
	  because of earlier attempts to solve merge conflicts which discard
	  the new changes, probably by accident, not noticing them.  This
	  might confuse git as to which versions are new

Conflicts:
	src/digidemo/templates/digidemo/ask_question.html