Automatic claim expirations and manual claim expirations fixed

Prior to this, the behavior of this module was strange.  In CleanClaimsCommand, the function would load a list of all the claims and pass it through to the run() operation in WorldClaimCleanupTask, which would itself load a list of claims and would then cycle through that list, return to the calling function, which would still have a claims in the list and so run() would get called again.  Not only that, but the method for going through the claims in the list would start at a random point in the list, but them it would not move to the next element in the list.  So, if you have 50 claims in the list, runSingle() would basically get called 2500 times over the course of the operation, but it would only perform its operation on one single person's claims 2500 times.

I have re-written the code for both sections and can confirm it is working correctly on my server, expiring claims according to the rules in the world config and running every hour as I've configured it.

Please let me know if there are any questions -- much obliged.