initial commit
extract simple test problem into gpai.problems.circle
in circle problem, separate test cases from fitness function
funcmap and terminals become dynamic vars in gpai.tree rather than threading them through several functions.
initial implementation of CGP. slow, needs macro compiler.
cgp genome->fn compiler
use cgp terminology of nodes vs genes. mutation acts on genes.
enforce *max-expr-depth* in tree GP even after crossover
parity problems; target fitness termination condition; erc generator functions; integer and logic function sets
generalise evolution function into evolve-general laying groundwork for co-evolution. revise some terminology and arguments.
add coevolution functions and the 'random' coevolution test problem - both untested
eliminate dynamic vars, bringing into genome maps instead.
vals into genome maps instead.
standardise on lang definition.
format.
 - functions and constants.
wrap tree GP expressions in a genome map, making tree and CGP consistent.
rethink names and rewrite docs.
separate snapshot functionality from general evolution function.
namespace io.evolvability.gpai
Merge branch 'master' of github.com:floybix/gpai

Conflicts:
	README.md