Add virtual features to Dictionary

This is the _bare_ minimum change to convert `FeatureMeta` into an ADT (except for the dense row change).

Now is a Good Time to get the naming/layout of this new constructor correct.

The next step will be to add support for the dictionary parsing, and then thrift support.

/cc @etorreborre @raronson @markhibberd 
Eric/Russell - any thoughts? Otherwise I'll rename them both in another PR.