StepFunc implementations should never return a nil StepFunc result. This
helps keep the logic in the SASL authticatee simpler: step functions are
never nil. Mechanisms that end up an error state (for example, some decoding
logic fails...) should return a StepFunc that represents an error state.
Some mechanisms may be able to recover from such.