new: anneal.py

New algorithm for optimization by annealing is non-trivial, but still simple
enough to document how to write an optimization algorithm.
anneal.py: raise NotImplemented for unsupported hp types