Shift paradigms.

This commit represents a big shift in Stepdown away from
order-dependent arguments, unsure behaviour, and complexity toward
a simple, reliable, consistent implementation centered around an
Object of results.
Add tests for internal methods.
Add tests for context and data functions.
Finish the spec with the stepdown function.
Remove NaN pending hack.
0.4.0