Added feature to clear lets after a failure.

In some test cases lets need to be unique per test execution. Example is with integration tests: the lets give a username and/or password and the test creates a user. With sometimes flakey third party services the test may fail and upon trying to recreate the user that step fails because of a duplicate username.

Also added a config option to turn off the let clearing. Maybe the default should be false instead of true?