Completely restructured the internals of the plugin

This is something that has been needed for a while, and will make way
for future features. Most importantly, this patch originated around
the future implementation of player UUIDs.

This patch implements two key features:
  - Support for Bukkit's event system with VindicatorEvents
  - Significantly cleaner implementations using Vindicator