Fields

Continuing the work from https://github.com/fusioneng/Shortcake/pull/44

Adds `Shortcode_UI_Fields ` class to manage field types. Each field type requires a template and a view model to be specified. The field controller then outputs field data that can be used by the JS.

Added a post select field.

The main aim is around better abstraction allowing for developers to create their own fields. I think that providing support for fieldmanager fields as a shortcake extension is the ultimate test of the flexibility. 
Why is this one declared twice?