[Bleeding] First compile of new playerdata system. Resolves #223
The new TFM_PlayerList stores player under /players/[uuid].yml and only caches online players. When players log in, their playerdata will be loaded.
Truncate string argument on calls calls to setPlayerListName. Resolves #262.
Added /forestgen to blocked commands
Woops
Use commons' substring function to avoid IndexOutOfBoundsExceptions.
Rework tags (now they won't duplicate when Essentials changes display name).
Partial fix for #267.

Still need to implement method to kick people off telnet if they are deactivated while connected.

Also - 800th commit! Woohoo!
Modified /qop and /qdeop to be a bit less spammy when multiple matches are found.
Use TFM_Command.playerMsg instead of TFM_Util.playerMsg for commands.
Using playerMsg(final String message) instead of playerMsg(final CommandSender sender, final String message) when possible.
Using qop should now only op those who are not op. 

This will further reduce the amount of spam and doesn't spam everyone with "you are now op".
Now made qdeop require you to be op else it wont try to deop the player.
Added /nickclean - mass remove distracting things from player nicknames.
Block tags containing "console", fixes #260.
Make '/tfm reload' update blocked commands. Resolves #265.

Config must be reloaded in order to pull in any changes to blocked commands list.
Remove extra lines.
Merge branch 'patch-2'
Fixed broken format for /gadmin ipban.
lang.StringUtils -> lang3.StringUtils
Remove bold from /nickclean.
Added preliminary TFM support for TelnetRequestDataTagsEvent.