Update MinecraftReflection exception messages

The messages incorrectly identified the minecraft server package as "net.mineraft.server"
This commit fixes that
Although it is only a minor spelling error, it is worth fixing
Merge pull request #47 from glen3b/patch-1

Update MinecraftReflection exception messages
Allow users to construct signed property instances.
Workaround for ServerConnection not being constructed yet.
Correct a bug that would lead to IllegalStateException in plugins.

This was caused by the fact that "requireInputBuffer" used 
findLegacy(int) to get the correct PacketType, instead of 
findLegacy(int, Sender.CLIENT). The latter is justified by the fact 
that only client-side packets require an input buffer.
Throw ClassNotFoundException when appropriate

Currently, the ClassSource returned by ClassSource.fromMap will return null if the Class cannot be found (as that is the behavior of maps). However, other ClassSources throw a ClassNotFoundException if the class cannot be loaded. This commit changes the behavior of ClassSource.fromMap to throw a ClassNotFoundException if the class was not found in the map (or was mapped to null). This commit also changes the method to interpret a null map as an empty map.
Document new fromMap behavior
Add ClassSource.attemptLoadFrom method
This method is an alternative to chaining retry calls
attemptLoadFrom now ignores null values properly
Update sample code in readme

The current sample code uses the magic packet IDs, which are deprecated in the current version of the library. This commit changes the sample code to use the non-deprecated enum-like packet identifiers, the sample code which is present on the BukkitDev page for this plugin (with some minor tweaks).
Added the ability to toggle whether or not a given player is injected.

We also ensure we can run multiple instances of TinyProtocol without
requiring implementers to override getHandlerName(). 

Also fixed a potential memory leak, as the channel map was set to 
weakKeys() instead of the correct weakValues().
Merge pull request #49 from glen3b/patch-2

Update sample code in readme
Fix a bug preventing ClassSource.retry() from working correctly.

We returned the class of the other ClassSource, instead of invoking
its loadClass() method.
Add ClassSource.empty, ClassSource.attemptLoadFrom will also not
tolerate nulls
May solve a race condition in ticket 220 on BukkitDev.

It is possible, though not confirmed, that ProtocolLib has not been
fully cleaned up after a "reload" command and the next instance of 
ProtocolLib is loaded. In that case, it may be possible that a channel
is injected in the main thread while its cleanup procedure is still
running.

This is an attempt to solve this problem. Though, it is not confirmed
to work.
attemptLoadFrom will throw IllegalArgumentException for arrays of length
1 with a null element
Merge pull request #48 from glen3b/patch-1

Minor improvements to ClassLoader
Ignore NuSuchElementExceptions when removing channel handlers.
Merge branch 'master' into mcpc17
Add support for Cauldron as well.