ObjectStore: add bufferlist/string getattr

Signed-off-by: Samuel Just <sam.just@inktank.com>
ECUtil: restructure to support HashInfo based checksumming

Instead of packing the checksum into each chunk, we instead maintain
a running checksum stored in attributes on each shard.

Signed-off-by: Samuel Just <sam.just@inktank.com>
ECTransaction: maintain shard checksums

Signed-off-by: Samuel Just <sam.just@inktank.com>
ECBackend: maintain shard checksums and scrub

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd/: make the append event include the length

We don't worry about backwards compatibility here since
EC pools cannot exist yet in the wild.

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGBackend: make objects_get_attrs virtual so implementations can filter

ECBackend wants some private attrs.

Signed-off-by: Samuel Just <sam.just@inktank.com>
encoding: fit in HashInfo

Signed-off-by: Samuel Just <sam.just@inktank.com>
TestECBackend: add a few tests for hinfo keys

Signed-off-by: Samuel Just <sam.just@inktank.com>
TestECBackend: remove unpadded test

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: make it possible to trim old checksum attrs

Signed-off-by: Samuel Just <sam.just@inktank.com>