Added createTenantFilesystem() to tenantmanager

This creates a working folder for new tenants.  The Adapt framework is
copied into the /temp directory.
Re-work to allow dynamic compilation of framework

** Note: this requires the framework cloned to adapt_framework in the root
of the adapt_authoring project **

Publish and Preview now read from the tenant specific build folder.
issues #399
 - added frontend support for extension/theme/component management

Conflicts:
	package.json
issues #399
 - refactored remaining bower plugin functionality

Conflicts:
	plugins/content/extension/index.js
Fixes #399
 - added refresh and update api routes

Conflicts:
	.gitignore
issues #399
 - some formatting tidyup
Dynamically building the framework

When Publish or Preview is invoked, if a built framework does not already
exist the Grunt task is executed to build it.  (Currently the theme is
defaulted to 'adapt-contrib-vanilla').
Merge branch 'develop' of github.com:adaptlearning/adapt_authoring into issue/419
Session secret on installation is now generated

A random Base64 value is used.
issue #399
 - remove themes until api is in place
Re-work to install adapt_framework

The adapt_framework folder is a pre-requisiste in publishing and
previewing courses.
issue #399
 - added theme bower plugin type/api
 - re-added theme management link on client
Fixes #449
Merge branch 'develop' into issues/399

Conflicts:
	.gitignore
Merge pull request #426 from adaptlearning/issues/399

Issues/399
Re-worked the Framework install page

Sockets are used to relay the progress of cloning and installation of the
Adapt framework.
Corrected issues from peer review

- Replaced calls to process.cwd()
- Added missing return calls
Corrected Node.JS version number for Travis CI

This was causing builds to fail.
Merge pull request #451 from adaptlearning/issues/449

Fixes #449
issue #419
 - switch to use mkdirp
 - @TODO fetch the framework for testing env