Add interface for new build script

This mimics the old build script in python so there is minimal
transitioning from old to new.

As an example, the node build:

  python3 tools/build.py -t node

  node tools/build.js -t node
Add useful tasks/functions used within each build
Add browser build type

This is used for browser, amd, and part of the cdn build.
Add cdn build type
Add node build type
Add dependences for the build script
Remove old build script and compression jar
Update docs to mention the new was of building
Update travis file for node only environment
Stop using merge and just use the object directly
Change template to regular style of requiring

This is mainly because browserify doesn't recognise requiring the languages
via a loop.
Allow for options in the dest task
Use base option to include docs in meta files task
Move over copyDocs to browser build
Change typeof comparison to isString function
Add category field to appropriate language headers
Move parseHeader to the utility module
Move headerRegex to top of file
Add filter task

This will first take only the base files needed then put back in files that
have a "requires" field in their file header.
Add function for building a filtration callback