[Breaking] Rename internal package enum values, return String instead of
Package
Ugly workaround so package name works
Added reflective ProtocolUtilities implementation
This new implementation uses pure reflection
The infrastructure in its current state will use a library which is
designed for this (namely ProtocolLib) if it can, but if all else fails,
it can now fall back on the DefaultProtocolUtilityImplementation, which
uses purely reflection to accomplish evil tasks
Update documentation to not depend on specific implementation