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 
I don't want to be the grumpy old guy, but bringing functional idioms into Python just doesn't work. Your code would be much clearer without `compose`. Just stick each function call on a separate line.

If we were optimizing for concision, we wouldn't be using Python. Clarity is Pythonic, even if you lose some brevity.