Added support for 1.4.6.

Yes, it's essentially a hack, but I don't have enough time today to
find a better way. It will have to do until 1.5.0 is out.
1.4.6 appears to be working properly.
Increment to version 1.8.3-SNAPSHOT.
Create a typed ItemStack array when writing it to a field. FIXES 24.

After the package versioning commit, ProtocolLib switched to performing
everything exclusively with reflection. Unfortunately, this may have
introduced a couple of new bugs.

This problem is caused by the fact that ProtocolLib converts a Bukkit
ItemStack array to an Object array instead of an array of NMS 
ItemStacks. This object array can't be assigned to a ItemStack array,
so the write operation fails.

The fix is to create a typed array with reflection.
Bumping to version 1.8.4-SNAPSHOT.
No need to suppress any warnings - we can use wildcards.
Bumping to beta 1.4.6 of CraftBukkit
Continue to remove unnecessary raw types.
Add equals() and hashcode() to the wrapped DataWatcher.
Added StructureModifier tests for different packet types.
Rename ObjectCloner to ObjectWriter.

It's more accurately thought off as a way of writing the content of
object A to object B, than a generic cloning method.
Added a generic cloning library to properly support deepClone().
Move the field cloning reponsibility to FieldCloner.
Added a shallow clone method.

Removed the identity cloner, as it's no longer needed.
Crash if multiple copies of ProtocolLib are running simultaneously.
Bumping version to 1.8.5-SNAPSHOT.
No need to expose the MinecraftVersion class.
Added missing copyright notices (GPL).
Add support for cloning maps.
Assume SecretKey and PublicKey is immutable too.