Cached chunks so same chunk doesn't send twice and air chunks generate client side

In this update chunks consisted of just air are not sent to the client resulting on less to process on the client side increasing fps. In addition chunks sent to the client are stored as hashes and compared before sending to the client so that the same chunk consisting of the same data will not be sent to the client twice. While this requires a few additional server resources it increases fps by aprox 10fps depending on client hardware availability. Also on comparison of server resources on a dedicated server with tps (ticks per second), on a 3.2GHz quad core server the tps remains at the max 20 as accordance to the essentials plugin. It would be worth using this new code if it increases fps by around 10fps on the average computer.

Just note that in org.bukkit.craftbukkit.Main the following code is required immediately after the class definition.

public static HashMap<String,List<String>> chunkcache = new HashMap<String,List<String>>();