Typed Genetic Programming introduced as optional.

Functions and Vars can now be defined as typed, as well as the problem itself.

Backwards compatible with existing untyped genetic programing problems.

TODO:
Need a working example in few generations.
Maybe a better function example (besides iif).