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.
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.
Re-work to install adapt_framework

The adapt_framework folder is a pre-requisiste in publishing and
previewing courses.
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.
issue #419
 - switch to use mkdirp
 - @TODO fetch the framework for testing env
Refactoring to add frameworkhelper.js
Removed /framework folder

This is no longer required as the adapt_framework folder is created as
part of the install.
Slight rework to tenantmanager.js
issue #419 - removed check on stdout in framework install
Updated .travis.yml
Merge branch 'issue/419' of github.com:adaptlearning/adapt_authoring into issue/419
Fixed missing quotes
Changing createTenant to locate Travis bug
issue #419 - increase test timeout to allow for framework clone/copy
issue #419 - fixed some longstanding callback bugs in tenant tests