Confirm Navigation Improvements

This PR consists of two commits that work together to improve the confirm navigation popups in 2.2.11. *edit: and 2 commits to clean up my goofiness today.*

#### Allow disabling the confirm navigation popup

Adds a new setting (confirm_navigation, in the Manager & Back-end area) that can be disabled to disable the check entirely. 

#### Improved "prevent navigation" alert by tracking field changes instead of using flawed isDirty() check.

The FormPanel.isDirty() check does a raw comparison between the original value and the current value of each of the fields. When using a rich text editor, there could be changes in the current content value of a resource due to changes in formatting (editors forcing a <p> root block) or encoding (& being turned into &amp;) which would result in the navigation popup. While yes, there are changes, no, the user did not make them so they should not be bothered with a popup. 

The commit changes from looking at FormPanel.isDirty() to tracking field changes through the changeField event and a local flag. 

This commit also resolves an issue where changing templates would show the warning during the reload.