invite codes & plugin permissions

this adds a plugin for invite codes, and also plugin permissions which was necessary to implement this.

each plugin can now have a permissions property, which allows you to set access to the plugins methods for master (the private key) or anonymous (anyone else) this is used in plugin/invite to allow master access to create invite codes. These can then be given to friends, who may then hmac into `invite.use` and the server will then follow them!

The main bits are here, better support needs to be added to client to make this easy to use...
and maybe add url/ip:port to `invite.create` response so that it's as easy as possible to use?