Tweak vertical comments CSS.
Break out AdminController, fix broken path to Dart Javascript: add /web/.
Fix forum with no title or body not found bug

Have loadPageMeta() return None only if the page doesn't exist, rather
than if there is no title or body.
Fix CSS bugs: Remove borders

- Don't show border around root post by line
- Remove post header left-right borders
Add Typescript transpilation and the DefinitelyTyped module.
Rename ForumGroup and Forum to Forum and ForumCategory.
Rename template forum.scala.html to forumCategory.scala.html.
Rename template forumGroup.scala.html to forum.scala.html.
Remove some forum related stuff

- Remove all forum related Javascript, I'll build an AngularJS app instead
- Remove create-topic button and forum topic excerpt from category page
- Remove out commented forum template code
Upgrade to Bootstrap 3.1.1, stop using Bootstrap-Stylus

I cannot build Bootstrap-Stylus 3.1, because of unresolved NPM
dependencies:

Error: No compatible version found: grunt-contrib-stylus@'>=0.13.2- <0.14.0-'
ERR! fetch failed https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.5.3.tgz

I don't want to troubleshoot this. The only cange I did to Bootstrap-Stylus
was in stylus/variables.styl:
---
-$screen-sm ?=                  768px;
+$screen-sm ?=                  540px; // was 768px originally, but that's far too wide
---

Don't remove modules/debiki-bootstrap yet though.
Upgrade to AngularJS 1.2.16 from 1.0.8.
Add test forum AngularJS app

- Remove HTML in Scala Template for forum, I'll use an AngularJS
  template instead
- Load TypeScript code, incl AngularJS module, before debiki.js
Remove PageRole.parentRole.
Make ui-router work, with hard coded fake forum categories.
Load categories from database.
Add forum controllers and dummy templates, plus some refactoring.
Switch from grunt-typescript to grunt-ts

Because of grunt-ts' support for HTML templates.
Add forum HTML templates via grunt-ts

But there's a weird problem! `grunt watch` keeps looping forever, compiles
and compiles and compiles over and over again. Weird. What about using
Gulp instead? It's faster, anyway.
Use Gulp, call Grunt from Gulp

- Use Gulp to compile AngularJS templates.
- Call Grunt from Gulp to do everything else, for now.
Use Gulp for LiveScript too

This requires me to stop using LiveScript's deprecated `where`.