XXX: copy record only if it's really needed

XXX: This is very lousy implementation - rewrite
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