FileStore: CollectionIndex RWLock is hold for the Path lifetime
Since CollectionIndex object is not a smart pointer anymore,
we don't need the self referencing. So, 'this' pointer is passed
in the Path constructor. Also, based on the writable flag
(by default true) Path constructor is holding Index->read/write lock
and releasing it from the destructor.
This change was introducing a assert in the TestFlatIndex code since
the test file is calling index->lookup() multiple times from a single
thread without releasing the path. This is not allowed anymore,so,
the test file is been corrected accordingly.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>