Test case and fix for empty frames using `frame []`

This adds a test checking that it is possible to create an empty frame
and adds a simple fix for this (via @adamklein). I also added a test
that fixes the behaviour when a new column is added to an empty frame -
when that happens, the frame's row keys are fixed to the row keys of the
first column (and later added columns use left join).
Avoid using FSharp.Core types in BigDeedle public API

Using F#-specific types like lists in public API is a bad practice.

Also, this should resolve `TypeInitializationException` error that happens
because of different `FSharp.Core` version is referenced, but BigDeedle is
not actually used.

Conflicts:
	src/Deedle/Vectors/VirtualVector.fs
Change "Combine" so that it takes the expected length

This means that the operation works when combining zero data sources (e.g.
getting rows of an empty frame). It is probably also a better design because
we can always get the expected length from the index.
Merge pull request #272 from tpetricek/emptyframe

Test case and fix for empty frames using `frame []`
Merge changes