Documentation

Includes what was started in #395

Adds `ngdocs`. Ports the guides of #395 to the autogenerated documentation page.

Several parts are already documented, however much more is still to come. We want to merge this PR right away though, so that every new development has access to its features.

Use `grunt doc-server` to start a server to access the documentation. We still need to find the definite place for these webpages to live. Ideally want to ship it with the application itself at some point.

Also adds a Plato report!

Closes #385, works hard on #386