Add should.change().was().now() and should_not.change().stays()

Add a new type of assertion, possibly wrapped in a doing():
  * .should.change() asserts that the obj changes in value
  * .was() checks the value before (uses copy.deepcopy())
  * .now() checks the value after
  * .should_not.change() checks for inequality
  * .stays() checks before and after value is the same

Includes docs and tests.