Merge pull request #2 from McMartin/StateFeatures

Implement `Size`, `Empty`, `Contains<Element>` and `Count<Element>` features
Support features that require at least one element in the TypeList

Add BaseTypeList and BaseHeadedTypeList, and specialize TypeList depending on
whether it has at least one element.
Implement At<Pos> feature
Implement Front feature
Implement Back feature