added library DatatypeSimps in src/datatype

The datatype package stores information about created datatypes in TypeBase.
This library accesses this information and provides useful theorems and simpsets.
These are especially designed to handle the explicit usage of case-constants. There is
support for

- simple rewrites for datatypes
- expanding universal and existential quantifiers
- lifting and unlifting case-constants (similar to COND_LIFT_ss for bool)
- congruence theorems for usage with the simplifier (warning: slow)
- moving case-splits to the top-level of equational theorems. This is useful for
  e.g. transforming definitions into a form more handy for rewriting.