Fix ceph_filestore_dump usage again

Signed-off-by: David Zafman <david.zafman@inktank.com>
Add assert() on collection_getattr() failure instead of later decode crash

Signed-off-by: David Zafman <david.zafman@inktank.com>
Fix get_namespace() definition

Signed-off-by: David Zafman <david.zafman@inktank.com>
Fix typo in comment

Signed-off-by: David Zafman <david.zafman@inktank.com>
Code conformance of os/LFNIndex.cc

Signed-off-by: David Zafman <david.zafman@inktank.com>
Prior version bump should have updated this

Signed-off-by: David Zafman <david.zafman@inktank.com>
Rename on_disk_version to target_version

Signed-off-by: David Zafman <david.zafman@inktank.com>
os, osd, tools: Add backportable compatibility checking for sharded objects

New CEPH_OSD_FEATURE_INCOMPAT_SHARDS
ceph_filestore_dump
  Add filestore sharded_objects state and OSDsuperblock to export format
  On import, verify compatibility with export data using superblock compat_features
  Bump super_ver due to export format change
In FileStore support sharded_objects state
  Add set_allow_sharded_objects() and get_allow_sharded_objects() to FileStore/ObjectStore
  Add read_sharded_objects_state()

Signed-off-by: David Zafman <david.zafman@inktank.com>
FileStore must work with ghobjects rather than hobjects

Add ghobject_t to hboject.h header
Add constants NO_SHARD/NO_GEN and change gen_t/shard_t
Convert other headers from hobject_t to ghobject_t
Mostly straight hobject_t to ghobject_t for src/os cc files
Fix tools and tests and enable ceph-dencoder
Add filename generation and parsing including unittest addition
Get ceph-filestore-dump to build
Add gen/shard to DBObjectMap::ghobject_key() and update test case
Add CEPH_FS_FEATURE_INCOMPAT_GHOBJECT new FileStore feature

Fixes: #5862

Signed-off-by: David Zafman <david.zafman@inktank.com>