Refactored data access into driver api and cleaned up main()

Created an api for registering and requesting storage drivers.
Moved flags into a configuration struct to remove command line
dependencies from server.go and other parts of the app.
Removed the pipeline api.
Renamed fancy_request to message and moved it to a new namespace to
prevent a cyclic dependency issue during build.
removed obsolete postgresql handler and schema ensurer
Added nil storage driver and made it the default

If storage is not specified, mithril will now default to not saving
messages to a persistent store.
Also added more detailed logging to the storage initialization process.
Postgres restablishes connection

The postgesql driver now restablishes its connection after a disconnect
from the server.  The prepared statement will also be recreated to
ensure it points to the correct underlying db connection.
Improved error messaging to indicate failing module

Fixed a bug in the indirect logger so that it now correctly
unsplats passed in varargs.
server now returns an error when the amqp provider fails to send to
rabbitmq.

Signed-off-by: Rachel Thompson <r.thompson@modcloth.com>
Cleaned up the startup flag and arg parsing

Server address and amqp uri are now required args.
Improved usage message to not show defaults and give clearer
descritions.
Added panic methods log interface

The implementations for the null logger will still panic since this is
considered essential behavior
Moved library dependency to the bottom of import list
status flags no longer cause the app to also display the usage message
The postgres driver now correctly handles re-establishing connections
Removed unnecessary panic stmt
Changes to account for slight redesign.  Green now!  :smiley_cat: :tada:
TRIVIAL whitespace un-adjustment
Merge pull request #19 from modcloth-labs/getting-green

Getting green in the storage branch
Merge pull request #17 from modcloth-labs/storage

Storage and pipelining refactor