Initial refactoring and minor bug fixes

+ Incremented version to 0.8
+ Refactored core plugin class into multiple classes, removed a tonne of
duplicate code
+ Changed a lot of single-character variable names to be more meaningful
+ Changed a lot of function names to be more descriptive and follow java
conventions
+ Replaced config-based state with class-based state which is serialised
to config, config format kept the same for compatibility
+ Minor optimisations and improvements
+ Replaced the previous radius check with a "real" radius check, this
means radius QT's are now a sphere but that movement checks are less
expensive for the server to do
+ Changed effects handling from a single function to a base class, this
will allow other effect types to be added and configured in the future
+ Fixed some minor errors in the command-handling that looked like the
result copy/paste fail
+ Added radius detection to already-discovered QT's so that players know
when they walk into the radius/region of a QT
+ Added implementation for unimplemented "enable-safety-checks" option