locking backends

Hello.
I have created locking backends to allow use of file lockings instead of cache. Both cache loking and file locking abilities are now available through these backends. It is configurable and extendable, one can create own locking backend to sinchronize tasks by db table (or AMQP, or butterflies).