DE improvements

running calculates evals, outputs SearchReport
adds report to SearchReport
refactor GA
catches rename for self._evals
SA docstring
simulated annealer refactor
adds crossovers to GA config options
_crossover rewrite for testability
factor out corssover_at
fixes crossover points
fixes awful no-mutation bug
fixes fonseca IV length
GA refactor
moves test_searchers to its own dir
tests newly-modularized GA :)
moves no-islice implementation to first-class _crossover_at
adds error-handling retries to neighbor generation

factors mutation into its own method and retries as necessary
sets correct p_mutation for GA
adds SearchReport to searchers/__init__.py
removes _mutations count from GA