Fix slight JavaDoc formatting issue.
Use delombok for JavaDoc generation, #1188
Fix longstanding forward typo
Fix Javadoc for Jenkins... maybe
Add support for Minecraft 1.8.x

This commit allows BungeeCord to support Minecraft clients both of versions 1.7.x and of 1.8.x. There should be no breakages to any other support, however following their deprecation and uselessness within 1.8, the Tab list APIs have been removed.

Please report any issues to GitHub and be sure to mention client, server and BungeeCord versions.

When used with an appropriate server jar (such as multi protocol Spigot), this will allow clients of many versions to concurrently be connected to the same set of servers.
Add BungeeCord to the outdated ping message.
Handle offline mode in the tab list
Fix another missed offline mode case
Initial draft of forge/FML support. Some race conditions prevent this from working sometimes. Something with the time we send the handshakes
Forge 1.7 support. See issue #899.

Conflicts:
	protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java
	protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionRequest.java
	protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionResponse.java
	protocol/src/main/java/net/md_5/bungee/protocol/packet/PluginMessage.java
	proxy/src/main/java/net/md_5/bungee/ServerConnector.java
	proxy/src/main/java/net/md_5/bungee/UserConnection.java
	proxy/src/main/java/net/md_5/bungee/conf/Configuration.java
Move registering the Forge FML/FML|HS channels to the Bungee methods, in an attempt to try to fix other channels not working.
Comments to clarify what the two state classes handle.
Fix situation where Forge clients couldn't log onto Spigot servers.

Conflicts:
	proxy/src/main/java/net/md_5/bungee/ServerConnector.java
Commented out a line so switching between Spigot servers works - to be uncommented once re-sending a handshake is working.
Quick fix to some blocks sometimes not rendering on the Forge client when connecting Spigot.

Please note that you now need to mark a server as modded using the "modded: true" option in your config.yml
Insert a delegate-like packet sender into the client, that slows the Forge server handshake so the client can complete modded negotiation first.
Fix on initial connection when connecting to a vanilla server. Should fix some of the low latency (!) problems that users have seen. Part of issue #899.

We now do the client handshake before we start our server connection in this case. We allow it to finish through the use of an IVoidAction interface that acts as a delegate, passing back control to the main connection routines when the handshake is done.

When we come around to server switching (once FML has the ability to switch states), we need to consider that a server might reject the client after the handshake is complete. We might need to do a second handshake much later in this case, otherwise the user might end up with an incorrect state for the server they are currently connected to.
Fixing broken code that prevents clients from logging into modded servers.
Logging upstream/client side FML handshake, and reworked the client state class to fall into line with the FML server sequence manager.
Refactored Forge support to fix syncing issues.

* ForgeClientHandshakeState and ForgeServerHandshakeState now represent
FML's exact flow so we can manage everything better.

* Instead of calling startHandshake explicitly, we simply allow FML to
start the handshake for us after receiving the LoginSuccess packet as
shown here :

https://github.com/MinecraftForge/FML/blob/master/patches/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java.patch#L26

This solves the syncing issues since we are not attempting to change the
normal flow.

* Changed resetHandshake method to call a new FML packet HandshakeReset.
After FML completes its handshake on clientside, it ends up in the DONE state.
Previously it would do nothing and prevent Bungee from reinitializing its ID's. Pending a PR, FML will listen for this HandshakeReset packet and revert back to the START state as well as revert its GameData to the main menu state.
This fixes the ID syncing issue we had previously when switching servers.

* Removed need for syncing vanilla block ID's to FML when a forge client
connects to vanilla server. FML handles this by aborting the handshake
process and skipping to the DONE state when detecting a vanilla server as
shown here :

https://github.com/MinecraftForge/FML/blob/master/src/main/java/cpw/mods/fml/common/network/handshake/FMLHandshakeClientState.java#L44

* Removed isModded flag. Detection of a forge server is now handled after
receiving the first FML packet from server.

* Fixed pom.xml for eclipse users.

Note: This commit still REQUIRES FML client changes which have not been
sent to FML. I will be sending the required PR to get support in for
BungeeCord within the next day or so.