Formcontrollerfix

@sheadawson I wouldn't merge this yet, I'm just creating this pull request to start the conversation about changes I'm making.

I've restructured the controller a bit into separated functions.
I've added an 'edit' route so that includes the shortcode type. This allows us to use form fields that require ajax, such as UploadField, etc.

Theres a few issues I hope to resolve:

 * Some fields such as UploadField output the key as `ImageID[Files][]=23`. It would be nicer if this was just `ImageID=23`
 * Shortcodable extension goes away after save.
 * Shortcodable fields not populating properly.

I'm not sure if I've broken the data object stuff, as so far I've just worked with a ViewableData class.

OverviewLink (Shortcodable) object: https://gist.github.com/jedateach/a13928f1032fe0df8825