(WIP) Cdodge/course surveys

Just setting this up to get build reports going. Coding still in progress.

@jimabramson will code review Python files (from TNL team). @cahrens will code review JavaScript.

@explorerleslie FYI

Sandbox information:

chrisndodge.m.sandbox.edx.org

To test:

- Create a new Account
- Register for the edX Demo Course
- Go to Dashboard
- Click 'View Course' 
- Click 'Courseware' tab

This will bring up the required survey. When you complete it, you will get into the course (and will not see the survey again).

If you need to re-test, you'll have to create a new account.

Marco, I could use a few CSS tips on the Survey page. The Course ORG/Course/Display Name up towards the top of the page, I think should be a tad bit bigger in terms of font size/prominence.

Can you all give it a spin and let me know if this fulfills the requirements we have? I've done some light testing.

I'll start the Pull Request process tomorrow but I need to add some more automated test harnessing. My hope is to be able to do a patch release on Thursday, if possible. Otherwise, we'll have to think about patching on Monday, the day before the course starts.
This definitely addresses my concern about postback spam.  But a different concern that it raises is that if there are problems parsing the field names from the HTML, this won't surface until an end user is trying to submit the form.  A secondary concern is that the parsing is done when reading the form out of the db, many times, instead of just once when it is written.

How feasible would it be to add the field_names to the surveyform model, and add a save() hook to do the parse and store the fields then?