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
Added a few new features: warm-up, cool-down, qt.free permission support and improved checkSafe

+ Added configurable warm-up and cool-down periods (currently global)
+ Play effects and display a countdown message during warm up
+ Cancel warm up if the player leaves the QT region
+ Refactored the cost calculation code, removed duplication between QT
logic and QTList logic
+ Added optional global cost option, qt.free and qt-to-qt costs still
override
+ Changed departure effect to be very slightly different to arrival
effect, uses enderman teleport sound
+ Added qt.instant permission which can be given to players to ignore
warm-up and cool-down timers
+ Added qt.user permission check to player move event handler so that
players who are denied access to qt don't get notifications
+ Removed old checkSafe method and replaced with a simple loop that
encases the player in glass if the target location is in lava
A few new features and some integration

+ Refactored some commands to reduce code duplication with commands that
set and toggle boolean options
+ Added -s option to /qt cuboid that sets the primary and secondary
coords using the worldedit selection
+ Added -v option to /qt cuboid that sets the current worldedit
selection to the cuboid region of the QT
+ Added -t option to /qt cuboid which uses the targeted block instead of
the block the player is standing on
+ Added /qt cfg command for setting configuration options in-game
+ Added /qt reload command to fully reload the plugin when changing
global options
+ Added /qt delete command for deleting QT's
+ Added enable-fx config option to enable/disable effects
+ Added customisable welcome text to QT's that can be set using /qt
welcome <qtname> <message>
+ Added qt.fromanywhere permission which can be granted to players to
allow QT from anywhere when QT from anywhere is disabled globally
+ Added basic support for showing QT's on Dynmap
+ Added some basic validation to all numeric options, should hopefully
prevent derpiness caused by setting of invalid values
+ Fixed a problem with QT's not working when economy was disabled
+ Fixed an NPE when specifying a world name with -w that doesn't exist
Some small extra features and optimisations

+ More refactoring and code optimisations
+ Changed use-worldedit argument for cuboid from -s to -r (region)
+ Added support for using worldedit sphere regions to set/view radius qt
ranges
+ Added option to hide specific QTs from dynmap
+ Added per-QT price multipliers
+ Added tab-completion for qt names, admin commands and cfg option names
+ Added cfg option to enable/disable dynmap functions
Added more javadoc, fixed a couple of small issues

+ Improved javadoc in main plugin class
+ Added handling for invalid world names in the config
+ Added chunk pre-load to teleport, should hopefully improve the
getting-stuck-in-the-floor thing
Fixed a few mistakes, added triggering and outgoing-only

+ Fixed a couple of small mistakes in the property-set code
+ Fixed a logic error with the permissions-override check
+ Added auto-trigger option to QT to make a QT automatically transport
you to another when you step onto it
+ Added outgoing-only option to QT's to prevent return
Fixed a typo
Merge pull request #1 from Mumfrey/refactoring

Refactoring / New Features