SERVER-12213: towards a usable RecordStore abstraction
SERVER-12213: proper file for BtreeBasedAccessMethod
SERVER-12213: IndexAccessMethod::initializeAsEmpty is way to start new index
SERVER-12213: DiskLoc::btree has to be in header for older compilers
ignore fuse files
SERVER-12213: use new index creation method, including bulk operation support on IndexAccessMethod
SERVER-12213: comments and Status instead of massert if indexes to clean
SERVER-11979: increase timeout on test
SERVER-11595: move compact command part to its own file, small cleaning
SERVER-12213: comments on index creation code
SERVER-11595: add CompactOptions struct rather than 5 params
SERVER-12213: better names in IndexCatalog and comments
SERVER-12213: move more to IndexBuildBlock
SERVER-12213: indexCreate lets you control shutdown behavior
SERVER-12201: do not allow index entries on local.oplog.*
SERVER-12257: improve mongod behavior on storage write errors during msync
SERVER-12213: cache IndexCatalogEntry in IndexDescriptor for performance
remove dead code
comments and instructions on using make_vcxproj script and its limitations
SERVER-12153 SERVER-12171 Refactor CanonicalQuery::isValid()

Add unit test accordingly.