Benchmark fix and distributed update

Hey, I fixed the usage of Benchmark and added support for distributed locked using the hostname. Also, a failed lock will check to see if the lock is owned by the current process which fixes a production issue I had on a really busy site.