Add stepStatelessOperations function to perform a lighter-weight stepping, and converted stepOverDeduced to use this. Note this is work in progress as the interface to it does not provide ease of use. Yet.
Renamed functions stepOverIter to stepOver, and stepCountedIter to stepCounted.
Added tests for IsANonFiniteRange.
Updated StepOver tests to allow for input and output iterators to be different types.
Checkpoint progress in introducing the  stepStatelessOperations; currently the fill tests fail and this requires addressing problems with DeduceStepOperation ambiguities.
Rename stepStatelessOperations to be step, pull DeduceStepOperation calls into this function, add the binary operation as a function parameter. Propagate this change back up to callers and so on (including algo_sort.h).
Made the DeduceStepOperation be non-trivially specialised only for DefaultDeduceStepOperationTag. This then allows the fixing of the fill algorithm.
Added unit test for step function.
Delete unused files in anticipation of a rename
Rename algo_template_parms.h/.cpp to algo_template_params.h/.cpp
Added “typedef XXX type ;” to significant types.
Correct broken unit tests that are only compiled when ALGO_TEST_PERFORMANCE is defined.
Added specialisations for the Range algorithms that simply wrap std::iterators; they now call ++, —, std::advance and * directly rather than going through another level of indirection. Reduces the testRangePerformance times on -O0 significantly (~20%).