type_list: add C++03-style Contains metafunc.

For reasons that I don't currently understand, GCC 4.9.1 doesn't
recognize the static constexpr contains() function template in a
constant expression context.

So, here's an alternative.
non_null: relations with raw pointers.
data/range_ptr: add contains().