Remove LogItPlugin.callEvent() and add .getInstanceLogger()
Do not throw FileNotFoundException manually in FileUtils.loadLibrary()
Add ReportedException and FatalReportedException

Both ReportedException and FatalReportedException indicate that
the wrapped exception has been logged, but the latter also
signals to stop further code execution (program flow).
LogItCore.start(): catch FatalReportedException when loading libraries
Add CraftBukkit reflection module

CraftBukkit reflection will let LogIt use internal CraftBukkit classes
needed for inventory serialization.

This commit also:
 * moves InventoryDepository to logit.inventory package,
 * adds InventorySerializationException,
 * stores LogItCore in InventoryDepository for later usage,
 * throws FatalReportedException in LogItPlugin.loadLibrary(String)
   instead of IOException and ReflectiveOperationException.
Catch and log InventorySerializationException in PlayerEventListener
Catch and log InventorySerializationException in SessionEventListener
Catch and log InventorySerializationException in ServerEventListener
Don't use Logger.getLogger() in inventory restoration catch block