Socket abstraction for tests and SSL.

Part of #7.
libmetallirc: tests for users::UserData.
Travis-CI setup.