Add @threaded decorator to make handlers async with the main IO thread.

This is useful for potentially long running tasks that access external
resources, such as http requests.
Make http message handler threaded.

Prevents long running http requests from stalling the main IO thread.
Stalls can result in laggy response and drops due to ping timeouts.
Add handler for QUIT messages to greeting module.
Add protocol handler for 307 messages to admin module.

Some servers use the 307 messsage to denote identified nicks.
Send NICK and USER at beginning of connection.

Some servers wait for this before sending any initial messages. It is
good form to send these right away.
Use traceback for more expressive exception reporting.
Import admin module first to mitigate circular dependencies.