blob: switched to adaptive mutexes when available
mobjects: do not leave empty bases on open failures

After hitting open files limit eblob ended up in a loop of creating new
base on each write request that ended up in a failure, so a bunch of
empty bases/indexes were created:

rbtz@storage1b:~$ ls /srv/data/0/|wc -l
43481

Now we should cleanup created files after any kind of an error.

Reported by: agodin@