Large rewrite

This is a fairly large update.

Things currently broken:
* Auth
* ChanOps (because of Auth)
* Karma
* Forecast caching