Remove references to TypeAttrName.
Add AttrName#contains.
Introduce AttrName#dress, Finitio-inspired coercion mechanism.

For more about this scheme, see http://www.finitio.io/reference/latest/information-contracts
Implement the type system abstractions.

The type system is made of:

1. Three type classes ScalarType, TupleType and RelationType.
2. One Heading class, helper for Tuple and Relation types.
3. A few tools to infer types from literals, and compute least
   common super types.
Enhance Tuple and Relation to be properly typed + type inference.