Vindicator: when reloading, fully reload the plugin

This is a far more effective reload due to the propagation of the
configuration values. While it is certainly more inefficient to
completely reload the plugin, it ensures a full reload.
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