Endpoints!

This implements endpoints in place of our old client and server APIs.  It makes configuration more flexible as well (allows binding to specific IP addresses, for example).

It also comes with another enhancement that isn't necessarily endpoint-specific but was easy enough to add while I was here: IRCD now stores ports that are in use.  This allows us to accurately give port information instead of relying on config information that's possibly incorrect or changed (for /stats p) and to allow unbinding and rebinding of ports later if we want to do that.

I decided to bump the version number again here, so it's bumped up twice (from 0.2.0 to 0.2.2).  I used 0.2.1 in the previous pull request (#168), but since that isn't merged yet, I removed the commit from it that bumped the version number.