Added backoff lock class. Added an abstract base class Lock for all classes