Feature jsonbodyeditor

A JSON document editor, as an alternative to the textarea for JSON body text.
This builds drop-downs, text fields, array editors etc based on the supplied body parameter model, and any sub-models they reference.
It converts between the text area and the editable JSON document, which are on two tabs
The document editor view is only triggered for a body parameter that has a swagger model.