.throw() -> http-errors, .assert() -> http-assert

adds `this.assert()` and refactors `this.throw()` to `http-errors`. closes #341. makes error stuff outside of koa's responsibility :D