Separate formtools to document and embeddedDocument plugins

This PR separates formtools plugin into document and embeddedDocument plugin so that schemas types can take advantage of the formtools plugin but without the bulk of additional fields and function that are not required. e.g. dateModified, dateCreated etc.

@smebberson This is ready for review
This is badly nit-picky, sorry. Could `isSubDocument` be labelled `isEmbeddedDocument`? You'll have to update other spots too.