Create initial server using python and flask

This creates a basic structure for a python flask application. It adds
static serving for the client directory and a service to connect to
MongoDB.
Add grunt task for flake8

Flake8 is a tool to check the style of the python code. Run:
    grunt flake8
to check all of the code.
Add support for livereload in the run script

This is a tool which automatically reloads the web page in a browser
which has a page from this project open. It does this by injecting a
javascript file. Note that it only does this when it finds a head tag,
so it will not work for the API.
Add API routes to get and post forms and answers

A form/answer is fetched by sending a GET request to
    /api/form/<id> or /api/answer/<id>
and saved by sending a POST request with json data to
    /api/form or /api/answer
Add grunt tasks to install and run server
Update readme with server install and run
Use port 5000 for livereload

Port 5000 is default by flask. We want the same port to be used
regardless of if you are using livereload or not.
Merge pull request #6 from Itera/feature/initial-server-functionality
Add basic capability of rendering forms.
Refactoring to somewhat more idiomatic React.

This refactoring means that properties of questions are passed along
downwards to components as actual properties and not one single
data-structure which then contains properties.
Merge pull request #5 from Itera/feature/basic-form-rendering-capability

Add basic capability of rendering forms
Add basic capability of editing surveys.

In addition to adding a basic capability of editing surveys, this patch
also does some minor refactoring. Now, the only components that contain
any state is Survey and SuveyForm. Every other component is a stupid
component. They simply represent props, and actions are propogated
upwards using callbacks.