Subset types

This adds a subset type, which declares a predicate on the `Raw` of a `Wrap`, together with basic infrastructure for dealing with it. See a really simple implementation of `NEList` based on it in the tests.
ok ") I think this shows that Travis could be useful here.. I'm adding config if it's ok with you.