adds addToContext helper along with unit tests, updates the spec runner to clone each test before running (that way context isn't shared between runs), and updates coerce method to be more consistent