Complete refactoring into raven and raven-log4j modules

This is a complete refactoring of the original Raven-Java client and
Log4J appender. Transports have been grouped, the Sentry dsn has become
a central part of the client and the client itself has been simplified.

Adding support for other logging libraries should become easier by
splitting the core Raven client and log4j appenders into different
modules.
Rename raven directory to raven-client
Rename raven-client back to raven.
Eliminate RavenUtils from Raven and add logging to ClientExample

RavenUtils is no longer needed by the new Raven client. All logic has
been moved to either the Client or the new Utils class. Logging has
been added to the ClientExample, so you can see what's going on in the
background.
Add javadoc and some more unit tests for SentryDsn and Client
Test the newTransport method of Client
Add integration test skeleton

Introduced the new module raven-integration-tests to test the actual
sending of messages to Sentry.
Add unit test for SentryAppender for log4j
Add unit test for SentryAppender for log4j
Fix SentryAppenderTest: bigger buffer for the mocked server UDP socket
Remove raven-integration-tests as a module

Otherwise the raven-integration-tests tests would be run on each build
at the project level. Because those tests require a particular Sentry
setup, this is something that would become a serious PITA eventually.
Add tests for raven-log4j's AsyncSentryAppender

And make sure the Log4J appenders are initialized properly, even when
no sentryDsn property is set.
Add support for tags
Update the project README
Add integration tests for log4j SentryAppender and AsyncSentryAppender
Update Client to disable itself when the DSN is not specified

In accordance with the new guidelines from "Writing a Client" in the Sentry
developer docs

http://sentry.readthedocs.org/en/latest/developer/client/index.html
Improve integration test set up and use Sentry message interface

The integration test set up script will now copy and existing,
bare-bones database instead of expecting you to set it up yourself. The
integration tests have been changed to include verification of tags and
whether the Sentry message interface is actually being used by the
Client -- thanks to Brad Chen (@vvasabi). Building the JSON message
should probably be extracted from the client to make testing this part
a lot easier.
Add methods to Events that accept an existing JSONObject
Add RequestProcessor and MDC SPIs.
Add documentation and unit tests for the processor architecture. Remove the use of ServiceLoader and instead allow users to configure the list of processors used through log4j.properties or equivalent.