Cohesive include order

I always include my local .h files before any system .h files, because
that can conceal the error if I accidentally forget to include a system
.h file in one of my .h files. When that error happens, the code in the
.h file breaks when you change the .c file (removing the include) or
include the .h file from another .c file. So just to be safe I always
include files with specific context before including ones with general
context, just to keep from getting bit in the butt in future
refactoring.
Custom ports for ircd and meshnet

It still can only discover peers using the default port (doubtful there
is a way around that) but if a peer using an odd port actively contacts
another peer, that other peer will remember the port the first peer used
to contact it. And by "remember" I mean gdbm.

It also adds a simple configuration directory thing, because I needed a
place to put the gdbm file. It might be better to just forget the ports
when the process restarts, but I figure making it forget less will make
reconnecting to the network smoother, and we needed a peer database
eventually. Basically ip:peer, but the only thing to remember about
peers is which port they use, so it's just ip:port for now.
Don't save default ports

This could cut down on db size, since a peer using default values
can just be deleted from the db.