Scoreboards Version 2

Let's do this again

 - Total rewrite of /mcscoreboard. It is now home to only keep, clear, and timer.
 - Total rewrite of ScoreboardManager, introducing a new ScoreboardWrapper class. The ScoreboardWrapper handles all of the internals of displaying a scoreboard and the  reverting timers.
 - The five commands (/mctop, /mcrank, /mcstats, /inspect, /\<skill\>) can now all both print in the chat AND display on the scoreboard.
 - /mctop and /mcrank are now fully asynchronous in their database access.
 - The methods DatabaseManager.readLeaderboard() and DatabseManager.readRank() now take/return a SkillType rather than a String, using null as a special value for the Power Level. The Mc[rank|top]CommandAsyncTask classes are modified to use the methods as such.
 - The Config is changed - each of the five commands has "Print", "Board", and "Display_Time". Print and Board cannot both be false, and a -1 for Display_Time signals to leave it up until cleared.
 - You can see that the DatabaseManager implementations have very minimal diffs to use SkillType instead of String.
 - A strange resource leak warning is removed in FlatfileDatabaseManager. I don't know why.
 - databseATS is added to McMMOPlayer, which is the last time the player used an expensive database-accessing command, and the cooldown is placed in Misc.
 - The power level display is put on both the Main Scoreboard and each ScoreboardWrapper, and is purged from the main when disabled.
 - The power level display uses a timer task to update, and chews a queue of players who have levelled up.
 - ScoreboardsListener performs all event calls to ScoreboardManager.
 - LocaleLoader now prints a warning if a non-existent locale string is requested.
 - ScoreboardManager recieves the setupPlayer() and teardownAll() methods, for /reload purposes.
 - The constructor of Mc[rank|top]CommandDisplayTask is made package-private, because it should only be created from Mc[rank|top]CommandAsyncTask.
 - The formatting of low numbers in /mcrank is corrected.
 - The ScoreboardChangeTask is removed, and becomes a member class of ScoreboardWrapper.
 - The usage listed in CommandRegistrationManager is corrected.
 - CommandUtils.checkPlayerExistence no longer pretends to perform database access, instead using the more sensible hasPlayedBefore() check.
 - A new configuration option, "Scoreboards.Rainbow", is added. :D
 - Issue #1105 is fixed
 - Several strings in the locale file related to scoreboards get color added.