Simplifies includes
Reorders fields alphabetically
Removes default evaluation, replaces with isNaN check.

This could possibly be a bad decision, not sure.
There needs to be a way to initialize the Agents outside of this component.
Maybe agents shouldn't be controlled by this component?
Or initialized by it anyway.
Changes ulong to size_t
Fixes mutation_probability comparison