New CustomListPermutationFactory added.

No need to use hard constraints, at all. :)
Mutation and crossover operations still needed before considering a
merge with master branch.