Issue 8 basic validation

Added basic validation for form and JSON submission. Used the [voluptuous](https://github.com/alecthomas/voluptuous) library for this, which offers a pretty 
nice API for specifying the structure of Python data structures.

Additionally, tidied up views.py and the respective templates to avoid using a bizarre _additional_info function.

fixes #8 
OK. I'm curious what gets gnarly with PEP8. Here is [autopep8](https://github.com/hhatto/autopep8) btw. 

If PEP8 is what we say we are using, and there is an easy tool to auto-format code accordingly, I don't really see the argument for not doing it.