Don't tick tileentities that do not override updateEntity.

A while back, Forge introduced a TileEntity method called canUpdate()
which sole purpose was to prevent update calls to TileEntities.
Since the default value of canUpdate() is true, it will cause any
TileEntity that does not override updateEntity to attempt an update each tick.
Quite a few mods haven't learned that overriding canUpdate is required
if the TileEntity does not override updateEntity. There were also a
handful of vanilla tileentities that were ticking without being required
to do so.

To workaround the issue, after worlds have been loaded, each registered
TileEntity class is checked for an updateEntity override. If no override for
updateEntity is found and canUpdate() returns true, the TileEntity is added
to a ban list to prevent it from being ticked. The result is less processing
each tick on tileentities that never had to be ticked in the first place.
Performance should increase depending on the amount of TileEntities in world.
To verify if your world contains tileentities that fall into the category
above, check the server.log after the server has started for a print out
of any tileentities that have been detected and report them to the
respective mod author to fix.