Upstream merge, lots of conflicts
Partial upstream merge.

Still need to validate how some changes interact with our own.
Fix ItemFrame EntityDamageByEntityEvent
Fix fireball EntityDamageByEntityEvent also
Ignore damage done by LivingEntity.damage()
Add a .gitignore to the root repo
Add a new subproject MinecraftRelocate which will generate a minecraft-server jar, but with the net.minecraft.util libraries in their original package.
Update Guava to 11.0.2.

Whilst it is possible for a change such as this to be breaking, the version bump in itself is very small and Guava only removes APIs after 18 months deprecation. Given the proliferation of servers such as MCPC bundling Guava versions of 14.0 upwards as well as the fact that developers should steer clear away from using deprecated APIs, it is very unlikely this change will cause any issues. Furthermore this version brings multiple bug fixes and represents the minimum version required by Minecraft itself.
Fix Jenkins build - don't try and deploy unless forced to.
Convert solitary tab to spaces.

<~md_5|away> sublime text, why have you forsaken me?
Ensure authlib is not repackaged
Put Guava back to older version.

Whilst Guava ensures that the source is backwards compatible, unfortunately the binary ABI is not so. Going to need to look for a work around this.
Fix explosions not moving invulnerable entities
Display unhandled damage sources
Remove the last patch
Add damager to the unhandled error
Always clear entityDamage on explosion
Don't ignore 0 damage for non-living entities
Upstream merge.

Mikeprimm's lighter nibble arrays have been removed since they have been incorporate d upstream.
Re add ItemFrame / Fireball EntityDamageByEntityEvent fix