Remove content from .gitignore

IDE files should be ignored by the developers not the project (set that
in the global git ignore, or in the local repo settings).
Old generated files do not need to be ignore anymore.
Only files generated during the build should be ignored (so only target/)
Avoid using Raven-Java when possible

Java is trademarked, it's fine to know that the project is maven for Java
but Raven-Java could become a problem
Update librairies (jackson, logback, log4j2)
Make dependencies explicit when needed
Add a simple unit test for log4j2
Do not always rely on the source as it may be null
Capture formated message and add a MessageInterface
Do not use equals during the test of exceptions

The exception provided by the logging framework can be a proxy
(it is with log4j2) which means that the equals method doesn't work.

It shouldn't have been done in the first place as ImmutableThrowable shouldn't
have overriden the equals and hashCode method.
Remove incorrect equals and hashCode implementations
Merge branch 'master' into raven-3.x

Conflicts:
	raven-log4j2/src/main/java/net/kencochrane/raven/log4j2/SentryAppender.java
	raven/src/test/java/net/kencochrane/raven/AbstractLoggerTest.java
Do not verify the captured exception against itself
Merge branch 'master' into raven-3.x

Conflicts:
	raven/src/test/java/net/kencochrane/raven/AbstractLoggerTest.java
Set an implementation of equals/hashCode for ImmutableThrowable
Ensure that circular exception are handled
Fix indentation, imports, code order
Remove legacy support (supported only in raven-3.x)
Merge branch 'master' into raven-3.x

Conflicts:
	raven-legacy/pom.xml
	raven-legacy/src/main/java/net/kencochrane/raven/Client.java
	raven/src/main/java/net/kencochrane/raven/marshaller/json/ExceptionInterfaceBinding.java
	raven/src/test/java/net/kencochrane/raven/AbstractLoggerTest.java