Allow plugins to register handler types

Defines `server.handler(name, method [, schema])` and `plugin.handler(name, method [, schema])`

Closes #1385