New API, rwlocks and bugfixes

Notable changes:

Added new APIs: 
`int eblob_read_return()`
`int eblob_write_return()`
that copy wc into provided pointer. Those should replace `BLOB_DISK_CTL_WRITE_RETURN` hack. 

* Added `BLOB_DISK_CTL_USR1` which can be used by eblob library clients.
* Properly compute alignment for writes with block size specified.
* Truncate blob on each write when `EBLOB_NO_FOOTER` is set.
* Fixed `eblob_csum_ok()` segfault on broken entries.
* Replaced global mutexes with rwlocks.
* Fixed setting of `b->stat.sort_status` that now can be used by elliptics to determinate current defragmentation status.
* Removed unnecessary lock/unlock in `eblob_lookup_type()` when `L2HASH` is disabled.
* Fixed iterator behavior when `EBLOB_AUTO_DATASORT` is set.
* Added tests for block size + no footer case.