Automatic Documentation Generation (dgeni)

This is a draft effort at generating docs from the src.  To try it out do:

```bash
npm install
gulp docs
gulp docs/serve
```

The browser to http://localhost:8080/

If you are just working on the container app that hosts the documentation, you can watch it using

```bash
gulp docs/watch
```

The documentation is generated by dgeni using the traceur compiler to parse the source code into an AST for each module.
This is then manipulated to extract each module's exports and then rendered to HTML files in the `build/docs` folder.

Any JSDOC style comments in the code will be extracted and attached to the relevant bit of the AST and so used in the generated docs.

All the configuration, processors and templates for this are stored in the `docs` folder.
The templates right now are very simple (`docs/templates`). We can have template inheritance and includes to provide more sophisticated layouts and content.

More processing needs to be done in dgeni to extract the navigation and also to do a better job of extracting useful information from the source code.
There a few moving parts here...

The traceur parser will extract the raw comments but doesn't associate them with particular nodes in the AST of the code.  The `attachComments` method attempts to associate each comment with an AST node. We also store a plain list of all the comments for future reference.

In our `ExportTreeVisitor` we traverse the AST looking for exports, - if it finds an export that has an associated comment then it removes it from the plain list of comments.

The `generateDocsFromComments` processor is supposed to sweep up any left over comments and create docs from them. This would be useful - for instance - if we want to comment on something that is not easier to associate automatically with a code node (such as a parameter).

There is still some awkwardnesses in here that I would like to iron out over the next few months.