blob: copy record only if it's really needed

We can enchance 'contiguousness' test by sorting iovs, merge adj. and
splice overlapping.
blob: less extensive logging
misc: define offsetof only if it's not defined
blob: replaced __eblob_unused with __attribute_unused__
data-sort: speedup notes
blob: use memcmp in eblob_id_cmp()

On lucid there is 10x boost on using non-gcc's memcmp:
$ gcc -O3 -o test test.c && ./test
Time: 245 ticks (4279 memcmp/tick)
$ gcc -O3 -fno-builtin-memcmp -o test test.c && ./test
Time: 22 ticks (47662 memcmp/tick)

test.c can be found here http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
tests: stress: remove obsolete usleep()
XXX: api: simplified prepare/plain/commit

1) Prepare now do not accept wc argument only to extract size from it.
2) Plain write now does not result in commit
3) Commit now does not accept wc, but also only needed size and flags.
XXX: api: unified API
config: removed bsize and cache_size config options

Also added different types of padding to eblob_config structure. From
now on it'll be easier to add new fields to it.
python: whitespace fixes
misc: comment fixes