Improvement to logging of function names.
Further improvement of step name logging

* try to use a sensible supplied function name in naming the step
* added name parameter to createStep() when internal steps are created
* ensure that all steps are created internally with createStep()
* where an anonymous function is supplied, provide good default step name
minor revisions
removed redundant checks in runStep()
refactoring/uninlining of then(createStep()) calls
Merge pull request #1 from jpz/clearer-logging

Improvement of step name logging
    
    * try to use the name of the supplied function in naming each step
    * added name parameter to createStep() when internal steps are created
    * ensure that all steps are created internally with createStep()
    * where an anonymous function is supplied, provide descriptive default step name