[BREAKING CHANGE] Refactor history state methods to better suit uses

canUndo/Redo now check for disabled state (for use by history buttons)
and add a hasBeenModified method (for use by save buttons).

Change-Id: If7d7a3ea110b67d57375c20e57bd776ff03c40ad
Merge "[BREAKING CHANGE] Refactor history state methods to better suit uses"