Experimental addition of optimisation to jsgui project at build.

Loading the web-app fails with "Uncaught TypeError: Cannot read
property 'oApi' of undefined." A short time searching suggested
that the data tables plugin does not work well with the require.js
optimiser.
Use nodejs-maven-plugin to extract Node to target/

Means you don't need node installed before building.
Make dataTables.extensions.js a CommonJS module

This change helps the require.js optimiser (r.js) load modules in the
right order and fixes the issue described in commit 1f53ff3.
Optimise Javascript when packaging the jsgui

On build:
* Use r.js/node to optimise and minify the contents of assets/js into
  a single file called gui.min.js.
* Replace the load of config.js in index.html with a load of gui.min.js

Means we go from seventy-odd requests to load javascript and templates
to two. Skip optimisation with -DskipOptimization flag.
Optimise CSS when packaging the jsgui

* Switch from linking stylesheets individually to including one that
  imports the others.
* The require.js optimiser appends all the imported stylesheets into
  one single large file
* The maven-replacer-plugin replaces the load of styles.css with one for
  styles.min.css when the project is packaged

Conflicts:
	usage/jsgui/pom.xml
Use minified version of require.js.
Renames prettybrook.css base.css
Moves core brooklyn styles from base.css to brooklyn.css

This will make it simpler to use other stylesheets to customise the gui.
Merge pull request #801 from sjcorbett/js-optimisation

Optimise javascript and stylesheets when creating the JS GUI war