Add finally(), associated documentation and tests.

This PR adds support for a `finally` statement that adds a handler executed by the step chain on final resolution, error, or cancellation. Also adds unit tests for `finally` and a section in the README.
In both of these cases, what if there is an exception thrown out of the resolve or error handler? Seems like we skip the finally handler.