Add an announcements discussion category listed on the homepage.

Change "Posts" <th> to "Replies".
Prep for moving /:category to /forum/:category
Merge branch 'announcements' of https://github.com/Zren/OpenUserJS.org into Zren-announcements
Require a min role (Mod) to post topics to the Announcements category
Basics
Merge pull request #185 from Zren/announcements

Add an announcements discussion category listed on the homepage.
Merge branch 'master' into migration
Committed to wrong branch.
Fix #137 : Missing scripts within group
Merge pull request #187 from Zren/issue-137

Fix #137 : Missing scripts within group
Fix pseudo unique *(e.g. non-upmixed but unique)* `@icon` key to use **last value** only

This is from GM standards... GM always picks last value if there is a conflict... not the first. If we want a 45px size icon we're going to have to implement one and probably put in the prefix portion from CI.

Refs:
* https://github.com/OpenUserJs/OpenUserJS.org/pull/129#issuecomment-45696640
Swap out simple-xss for sanitize-html

Advantages:
* **Works** unlike simple-xss
* Lots of maintainers/contributors
* Smaller than simple-xss
* Correctly allows sanitizing text **first** then applying markdown
* Optional list is included for current defaults... this **can be removed** but I would feel safer matching it in case something comes down the line we don't like.
* Does filter out `javascript:` items just like xss

[npm homepage](https://www.npmjs.org/package/sanitize-html)
[gh homepage](https://github.com/punkave/sanitize-html)

Related:
* #168
* #125

Tested in dev on [this page](http://localhost:8080/scripts/marti/httplocalhost.localdomain/RFC_2606%C2%A73_-_license_and_licence_Unit_Test)
Flip order of processing and allow img tag

* Swap to markdown first then sanitize-html to allow html code blocks
* Allow img tag ... this deviates from their defaults so we need to define our own.
Revert last commit... otherwise DOM is stripped of highlighting capabilities even though it doesn't currently work
Merge pull request #188 from Martii/fixIconParsing

Fix pseudo unique *(e.g. non-upmixed but unique)* `@icon` key to use **last value** only
Match some of [GH's](https://github.com/github/markup#html-sanitization) stuff.

* Still need to see if sanitize-html has a wildcard
Move html whitelist to a json file so it doesn't clutter up the main code and read in
White space adjustment and removal of console message.

* Prepping for when I get back
Rename json to be more specific and change affected code

* Gotta run now
Migrate issues.
Use sanitizer for the html renderer. Closes #190.