Adding support for merging on virtual frames

This adds initial support for merging on virtual frames. As part of an earlier check-in, I also did some cleanup and created separate `VirtualIndex.fs` and `VirtualVector.fs` files (which is much nicer, but unfortunately, it makes the changes a bit hard to see).

This is only changing files in Big Deedle, so I think it should be OK to merge. My next pull request will be adding some comments & cleanup (there is a lot of that needed in BigDeedle), but I would like to merge this soon, so that I can test frame merging with BlockStore.