Replaced this ugly StackTrace message (Failed to connect to MySQL) with
a message that should contain information that are equally useful.
Auto protect can create duplicate protections when blocks are unexpectedly destroyed (e.g. WorldEdit //set). Also, use MONITOR for auto protection.
Remove JS
Metrics R7
Change version string
Update lwc_cz.properties

Translate new texts & fix some bugs in older translate
fullRemoveProtections should update the history table to make the protection inactive. This effects lwc admin expire, cleanup, and other commands.
fullRemoveProtections should update the history table to make the protection inactive. This effects lwc admin expire, cleanup, and other commands.
It looks like the sign blanking bug has been fixed (when cancelling interact event at the same time as the destroy event for a sign)
Could swear I ctrl+f'd cremoveall before :-(
Implement chest double click (implemented in MC 1.5). This fixes issues with donation chests and taking arbitrary items if you have the same item type already.
Allow hoppers to transfer items if the hopper AND inventory it's attached to are protected by LWC by the same owner. This means hoppers would need to be made protectable of course.
Prepare for adaptive cache testing with a known-nulls cache. This existed probably over a year ago as well but was removed. Basically:

It is just a cache of blocks that are known to not have any protections on them. If all protections are not in the cache then an otherwise cache miss would force a DB lookup. This prevents that DB lookup after the first time it's done (and nothing is found)
Fix a somewhat long standing bug where you might see "grass" or something protected when removing one side of a double chest and placing a block down where it was before. Other removeCache calls are to assist with the known null cache
New adaptive cache increasing which can be requested by high-intensity code areas. /lwc admin report now lists the default and adaptive cache size, e.g. ( 1252/1260 [100+1160] ) = 100 default cache size (core.yml) + 1160 adaptively increased because a high-intensity code area needed it.

PS this is of course in very much testing. I expect this to work well in the long run but of course some minor issues may come up here and there.
protection.removeCache() should remove adjacent blocks that aren't protected (i.e. in null cache).

This fixes double chests (and potentially doors and other multiblock protections) from not being detected
if it is /cprivate'd and not placed down.

closes #712