Simplifying implementation

Steps are now immediately invoked. Reduces noop tests
due to forgetting to call `Go()`
Returning values from a step injects that value into the context container
Adding tests for assignable types
Use Fatalf rather than Fatal