Trying out (in Feature2) a different approach to the Feature schema.

@laserson, thoughts?
I believe they are both slow.  The question is which is worse?

WRT the null value, it's possible that null would encode a measured error-state, while leaving out an attribute means that it wasn't measured to begin with.