Adjust tests for more confidence before refactor

Some tweaks to make the tests around change history clearer and more
thorough before I extract the code to a separate object.
Replace change_history with DocumentHistory

For confidence that behaviour is maintained, we just swap out the
implementation for now.
Make DocumentHistory enumerable
Tidy up use of change history
Cut out redundant tests

DocumentHistory is now unit tested separately so these tests are
redundant.
Extract helper for comparing changes
Include supporting page changes in history
Tidy up