Typed Genetic Programming introduced as optional.

Functions and Vars can now be defined as typed, as well as the problem itself.