Organise the world's tile entities by tick period, signs don't tick

This reorganises the world's list of tile entities from being a single set to grouping them by a "tick period".

The tick period is returned by a method on the tile entity, and must be consistent for any given entity. Tile entities are only called every "tick period" ticks rather than every one. All tile entities with the same tick period are called in the same tick - doesn't space them out.

This could be applied to reduce the frequency with which any given tile entity ticks - furnaces, etc. Because the tick period test happens outside the individual tile entities, we don't have to spend time every tick looping through ones which won't do anything.

By default:
*    Signs don't tick.
*    Chests tick to check whether their closed/open state is correct and open/close if not. They normally do this every 200 ticks with an internal check, have divided that so they will do every 10 calls if divided by 20 externally, etc - keeps the timing consistent. Set to only tick every 20 world ticks by default.
*    Furnaces tick every 5 ticks. This doesn't alter overall rate as CraftBukkit already changed it to use wall clock time for furnaces. Makes the progress bar a little jerky - let me know if should reduce/reverse.


Written after discussion of a server's performance: http://www.reddit.com/r/Civcraft/comments/28ypy4/morning_changelog_20140624/cigbhqc?context=3
This should be Integer tickPeriod = (Integer) tileEntityTickPeriods.get("chest");, not sign.