Changes visualization url to accept the format
Accepts csv as an export format
Adds csv template for statistics visualization
Adds csv template for token frequency histogram visualization
Leaves the unicode escape to the template in the word cloud visualization
Adds csv template for word cloud visualization
Adds csv template for pos highlighter visualization
Adds document to the context dictionary right before rendering
Adds links to csv downloads in each visualization
Separate GET and POST processing in the corpus page
Add first corpus page test
Raises 404 if corpus does not exist instead of rendering 404 page
Adds TEMPLATE_STRING_IF_INVALID to development settings
Adds tests for successful get on corpus page
Adds tests for the simple cases of document upload
Raises an error when POSTing without files

We should stop iterating through the files and instantiating a form for each
one. There should be only one form, and the widget should be able to handle
multiple files.
Move forms to their own file
Adds pypln license header to new files
Add first DocumentForm tests
Add tests for DocumentForm validation with multiple files