Move Java meterpreter next to JavaPayload

to make further refactoring easier
Convert JavaPayload project to use Maven

Functionality and build result is 1:1 the same as before. Auxiliary ant
targets have been converted to Maven profiles.
Convert Java Meterpreter project to use Maven

Functionality and build result is 1:1 the same as before. Auxiliary ant
targets have been converted to Maven profiles.
Add version compatibility checks for JavaPayload

Check JavaPayload and Java Meterpreter against version incompatibilities
for Java 1.2, 1.3, 1.4, 1.5, and 1.6.

Note that webcam_audio_record is currently excluded from the checks, as it
uses Sun proprietary API for building the WAV file and is therefore
failing the build (and will most likely crash Meterpreter if run on a JVM
of version 1.4 or later that is not based on the Sun/Oracle JVM).

Possible workarounds (apart from either removing the module or changing it
to produce empty files when WAV creation is not supported) include
implementing the WAV file writer ourselves or providing raw PCM files
instead.
Remove old .gitignore entries
Add unit tests for JavaPayload

Downgrad JUnit version since JUnit 4 can only work with -target 1.5 or
higher class files.

Covered are Shell and Meterpreter stage, StreamForwarder, MemoryBuffer,
AESEncryption and Payload (Bind, Reverse, Spawn, AESPassword).
Antivirus can interfere with compiling

Add a note about it into COMPILING.txt.
Make BindTCP test more robust

The BindTCP test contained a race condition: if the bind payload took
longer to load than the handler, it could result in a

ConnectException: Connection refused: connect

Work around this by retrying the connection up to 10 times, with 500ms
delay in between.
Replacing with master's .gitignore
Adding new .gitignores
Merge pull request #1 from todb-r7/pr1217-fix-gitignore-conflict

Pr1217 fix gitignore conflict
unconflicting with #1217