TODO:
all todo/done/doing are now here: https://trello.com/board/factionsplus/4ff1b198121d470304e565e5
maybe only devs can see that...

the following are obsolete TODOs that are not moved to trello:
--------------
- we really need to a good way to use wildcard permissions, if they're defined they won't always be seen as set
  more info here: https://github.com/MilkBowl/Vault/issues/223

- maybe don't add /f gc and /f fc commands if Factions is 1.7 (easy to do but then the player might wonder why these 
commands aren't there, thus by allowing them to exist in 1.7 also they are showing the message that 1.7 actually doesn't
support chat modes)
  Actually 1.7 can still do these commands but only if we tell the chats (which could be 3: EssentialsChat, HeroChat, CAPI)
  to switch channels somehow, seems tough... more info in this pkg(s): com.massivecraft.factions.integration.*


- look into setting permissions or groups of perms inside plugins.yml  with their description

- make bridging methods call-able from Utilities instead via Bridge.factions similar to existing ones like isLeader()
  so to make them seamless

- teleporting to /home could be bypassed if /home has a warmup and another command is executed right after but before
  teleport actually happens
  note to self: can be bypasses only if /home has a warmup delay, but not if it has a cooldown delay
  note2: if using boosCooldown plugin (which allows both warmup & cooldown for /home ) our constraint cannot be bypassed
    therefore, best workaround for this(can only be done by server owners) would be to stop essentials from having a
    warmup on teleport (ie. set to 0) and instead use the boosCooldown plugin for the warmups for commands;
    however, boosCooldown will still charge you money if the tp will be denied by us
  -failedto: actually detect if essentials tp warmup is >0 and suggest on console to disable it and use boosCooldown instead
         to avoid bypassing /home checks to teleport into enemy land
  -actually just deny any teleports done via Cause.COMMAND and only allow those whitelisted to succeed -
  seems like a good compromise ... worst case the user can deny himself the teleport action, but at least they can't 
  tp to home
  
  
- update .settings.eclipse and .classpath etc.

- make sure empty sections from existing config are removed, ie. mainly after their children which were obsolete/old aliases 
  were removed - hmm maybe at the exact same time when removing those, can detect if parent is empty and kill it, and then when
  config save happens, they are already gone
  actually, for this to work well, we'll have to transform the commented-out id:value into dotted form else nobody 
  would know who their parent sections were if they were removed
  
- add option to disable ender pearls teleporting in safe/warzones too

- recheck all code comments and remove obsolete ones, also rename some methods and/or comment them, ie. parsify()

- clean unused static hashmaps after they're used for config computing, on reload

- disallow enabling plugin if X config options are detected as invalid, where X would be configurable ie. 5
  - also add same thing for DUPlicates

- remove config_defaults.yml (and config.yml) that's located inside .jar (/project root) they are not needed anymore
    BUT FIRST do check if defaults are the same with the coded ones
    
- try find (from others) config.yml from 0.4.6 and test if successfully imports (should be, but could have missed 1-2 options)

- check and clean the unused imports

- updateCheck into own thread so it's non-blocking main onEnable(), could maybe use invokeLater

- set textual comments for each option, in java code on annotation
- and actually try to write those comments above the fields IF they are not already set (ignoring empty/whitespace lines 
  in between)
  
- check unused config options: costToJail leaderCanNotBeBanned costToUnJail ,anything from "rules", 
  warpTeleportAllowedFromDifferentWorld

- add ability to store lists in config.yml on multiple lines (must do some rework)

- apparently using "`a" or "`b" etc. would act like a color set, like "&a" or "&b" would do but only when using
  FPlayer.msg();