unit tests for src/os/FlatIndex.cc

Test the public methods of the FlatIndex class:

 * uint32_t collection_version()
 * coll_t coll() const
 * void set_ref(std::tr1::shared_ptr<CollectionIndex> ref)
 * int cleanup()
 * int init()
 * int created(const hobject_t &hoid, const char *path)
(todo) * int unlink(const hobject_t &hoid)
 * int lookup(const hobject_t &hoid, IndexedPath *path, int *exist)
(todo) * int collection_list(vector<hobject_t> *ls)
(todo) * int collection_list_partial(const hobject_t &start, int min_count, int max_count, snapid_t seq, vector<hobject_t> *ls, hobject_t *next)

There are a number of border cases that cannot be tested, such as the logic of the lfn_get static function. Since FlatIndex code is designed to transition from older namespace conventions.

http://tracker.ceph.com/issues/4542 refs #4542