Reword some failure messages to not reference should/should_not.
Fix odd method formatting.
Reword an error message.
Doc the change matcher class.
Refactor change matcher.

* Use separate classes for relative vs specific changes.
* This greatly simplifies the `matches?` and `failure_message`
  logic.
* Reduces the number of instance variables are floating around.
Add proper descriptions for change matcher variations.
Clarify `expect { }.not_to change { }`.

Fixes #154.
Improve change docs.
Merge pull request #376 from rspec/fixup-change-matcher

Fixup change matcher