Initial commit for the polynomial branch.
Simple callbacks implemented.
Compile error fix.
Inclusion polynomials to the project, added missing poly EACirc constants.
Finished polynomial representation - alpha, abstract individual representation.

* TODO: code review
*
poly representation improving. Genome initialization.
small fixes & improvements in Term, population init, pointers init to null.
Polynomials fixes.
Polynomials test.
New crossover & mutation strategies for polynomials.

TODO: code-review & test of the crossover & mutation.
Code check, comments, term remove in O(1).
Poly tests fixed.
Poly: custom vector shuffling (using GA), crossover fix.
Merge branch 'polynomials' into eacirc-dev

Conflicts:
	EACirc.pro
	EACirc/EACirc.cpp
	EACirc/projects/estream/ciphers/ecrypt-portable.h
GApopulation fix

- error when loading population fixed
- population should be "stupid", not genome-based
- tests now pass
file moving for circuit representations

- old representatation as "gate"
- reprs. moved to subdirs in circuit
- new factory method
renaming, phase 2

- Repr renamed to ICircuit
- implementations and IO variants altered accordingly
- EACirc.cpp includes cleaned
renaming, phase 3

- shaping ICircuit interface
- ICicuitIO is now the responsibility of ICircuit, not descendants
post-processing united

- post processing is now always called
- circuit representation chooses what to do (if something)
config file cleaned

- gate circuit settings are now fully separated from polynomial circuit
- circuit input/output size moved to main
- representations load their settings by themselves
- corresponding settings consistency checks moved to circuit
  implementations (thus, when running gate, poly can be inconsistent)
- ga callbacks are now set in interface (overloadable)
- ICircuit.h documentation finished