Replace PageRole.childRole with .isSection.
Copy-paste Discourse's TOS and privacy policy, in Ruby template format

They're licensed under CC-BY-SA.
Add LegalController.
Add company name and domain config values, use on TOU page.
Edit privacy policy and terms of use.
Make ToU content license and jurisdiction section configurable

Add a "Special Content" tab in the admin GUI, and SpecialContentController.
Change CLA: Use CC-BY and the MIT license

Instead of CC-BY-SA and CC-BY-NC-SA.
Add SpecialContent page role.
Rename loadPage() to loadPageParts(), return None if no actions found

This fixes a Special Content page bug that found pages although they
didn't exist.
Style the Settings and the Special Contents admin pages.
Add company name and domain settings inputs

And remove pointless `type` field.
Fix company name setting bug.
Move settings from forum section to site wide section.
Move-rename AngularDart html templates

Move whole site stuff to site/ subdir.
Merge branch topic-special-content.
Set applyAuthorStyles true for comment list, tweak HTML.
Upgrade to AngularDart 0.9.10

- Apparently cannot have > 1 top level tag per component, results in
  weird exception
- Don't read from cmp.content when null
- `get selectedTopics` in view_topics_component.dart must return the same
  value always.

Perhaps I accidentally added some Angulur UI dependencies.
Add Dart Angular UI module

I've forked https://github.com/akserg/angular.dart.ui and tweaked the
HTML to avoid weird index out of bounds errors.
Add tabs to navigate between site/blogs/forums, but keep the views.
Replace <ng-view> with <div ng-include=...> inside the tabs.