Initial work on output manager submodule
Work in progress - course publish

Now reading JSON from associated DB collections.
Added editorOnly json-schema option and updated schema#toJSON method to
handle export
Added a level of abstraction to hide mongoose specific options
Merge branch 'spike/publish' of github.com:adaptlearning/adapt_authoring into spike/publish

Conflicts:
	plugins/output/adapt/index.js
Added 'Publish' button to download zip file

Basic download of JSON files in place.
Tidy up of publish

- Corrected JSON output filenames
- Prettified JSON files
Tidy-up of publish functionality

- Added support for empty collections
- Added more user-friendly download filename
Changes around components

- Fixed issue caused by _componentType being an object now
- Displays component 'displayName' in UI
fixed issue with mixed uri cases
Set the childType for a block to 'component'

This ensures that deleting a block now deletes any components.
Re-worked the component.json output

Removed the 'properties' property from the output and flattened the
component.json as this is what the framework expects.
Store a copy of components version in a 'versions' directory on installation,
which will be used for publishing
Added support for 'distinct' operator in queries
Gather components used in a course when publishing - this
will be used to decide which version of a component to point
to when building
Don't add non-components to the system (ie. extensions, themes)
Only return _componentType information for publish components
Added 'src' folder

Now creating working folders which mimic those used by the framework.
Merge branch 'spike/publish' of github.com:adaptlearning/adapt_authoring into spike/publish
Fixed issue with _componentType

Re-worked property references to correct bug in 'Publish'.