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.
Merge pull request #7 from Itera/feature/basic-form-editing-capability

Add basic capability of editing surveys.