misc - fixed missing event param in editorMenuLayerView.js
 task/10011

 - refactored contentmanager
 - added ContentPlugin constructor
 - content types now managed as plugins
 task/10011

 - ensure the :type parameter is lowercase for requests to /api/content/:type
 task/10011

 - added function to iterateSiblings to ContentPlugin
 - added sort order update to article plugin
 task/10011

 - rewrote all schema as json schema
 - updated database interface
 - adapted mongoose dml to new database interface
 - using json-schema-mapper for schema import
 task/10011

 - updated clipboard schema
 - deleted unused contentSchema
 task/10011

 - fixed unset "_type" attribute in content
 task/10011

 - added support for referencing plugin schemas
 task/10011

 - article/block now inherit from contentobject
 - contentobject and children now default to max _sortOrder + 1 on insert
 task/10011

 - added cascading delete
 task/10011

 - fixed misnamed method in ContentPlugin interface
 task/10011

 - readded protected attributes to schema
 - it falls to dml implementers to ensure that protected attributes are
   removed when transforming a document to json
 task/10011

 - added component content plugin
 - uses bower api to search and install components from our bower repository
 - requires npm install to be run
 task/10011

 - extended test initialization timeout
Password reset feature
- Generates a token which can be used to reset the users password,
which will expire after a length of time
- Outstanding - mailer, clean-up task for stale tokens
Undo package.json edit
Callback fixes, redundant db params removed
 task/10011

 - updated /api/componenttype to return only the latest version of a
   plugin
Merge pull request #308 from adaptlearning/password-reset

Password reset
Merge remote-tracking branch 'origin/develop' into task/10011-b