This changes the api for classes to have _destroy and _delete functions
for each. The former cleans up the class, the latter calls _destroy()
and then executes a free() on it.
This adds a uri lexer to split uris into their component parts for use
in gemini requests.
Adds a px_connection class that represents a connection between a server
and a client.
This also revises px_gemini_* classes and moves message handling to
their respective functions.
This provides libpolluxd.so which is (read: eventually will be) a
library capable of serving the gemini protocol from within an
application. It also provies a server application, polluxd, for basic
functionality.
Current capabilities: listen on localhost:1965 and accept SSL
handshakes. Some server configuration (certificate and key files) is
respected, and a basic configuration file format consisting of key=value
pairs (no spaces around the =, for now) is defined and used.