Remove LockFactory and make Lock a private class

If there are users who really use custom locks, this can be reverted.
18 files changed