Seperate base RFC1459 functionality into feature.

This moves pretty much all RFC1459-dependent code into
`pydle.features.rfc1459`. `pydle.features.ircv3_1` and
`pydle.features.ircv3_2` have also been reorganized.
Update README to reflect codebase changes.
Move password connection parameter to features.rfc1459.
Add force parameter to message construction.
Remove the ability to wait for certain message types to arrive.

It is unused and can lead to ping timeouts easily, and will be useless
in the upcoming connection rewrite anyway.
Copy input modes in the mode parsing function to prevent side-effects.

This fixes issue #9.
Remove last trace of message types.
Add support for setting source_address.
Switch to Python's built-in logging module.

This allows client code to configure logging without having to mess
around with pydle's logging system (and pydle shouldn't hijack logging,
anyway).
Always perform _sync_user if metadata is available.

This is slightly less bad than only syncing user metadata if the user is
in a channel. When we received a PM, there was no way to retrieve
username/hostname information. This remedies it by making the
information available in the users dictionary and will be updated anyway
if a user sends a new message.
Undo "smart" optimization change that breaks mode parsing.
Parse CTCP query contents properly.
Add utility function to convert arbitrary names to Python identifiers.
Fix default on_ctcp_version to take content argument.
Newline polizei, please add newlines to the end of your files.
Fix missing re import.
Add topic command to RFC1459 client.
Unconditionally sync metadata, even on quitting or killing.
Clean up irccat code a bit.
Remove traces of old message system.