Use transactions for adding to the undo manager’s stack
Tidy up
Only push history if the content has changed

As a consequence of adding transactions, I had to update
`Scribe.pushHistory` so that it will only perform the push if the content has
actually changed. This is because the method is always called after every
command is executed, and the content may not necessarily have changed.
Tidy up
Tidy up
Merge branch 'oja-api-builder' into oja-transaction-manager

Conflicts:
	src/api.js
	src/scribe.js
Do not place TransactionManager on API object
Tidy up
Add TransactionManager.run
Don't push content now that it's not needed
Add comment
Tidy up
Document browser magic
Catch transaction errors
Use finally block and re-throw error
Tidy up
Merge pull request #14 from guardian/oja-transaction-manager

Use transactions for adding to the undo manager’s stack