Re-introduce method to avoid crash reports from Emmet plug-in
Insert at caret for exit_insert_snippet when input is document

Previously we would insert “after input” which I don’t think is desired (when input is entire document).
Use arc4random_uniform (in tests) to avoid modulus bias
Update dialog plug-in (dispose nib after its window is closed)
Increase content compression resistance from high to required

The auto-layout debug mechanisms report that our layout is ambiguous, for example if inserting ‘[self.window visualizeConstraints:_myConstraints]’ at the end of showWindow:.

Closes #1282
Do not export TM_SCM_BRANCH

We original exported this for the commit window, which no longer uses it.
Use `_externalScopeAttributes` as a fallback to export TM_SCM_NAME

We set the attribute scopes `attr.scm.*` in two different places in DocumentController; however, we only export TM_SCM_NAME if the scm variables are present. So if `scmStatus` is not enabled, TM_SCM_NAME is never set or exported, but `attr.scm.*` can still be present.
Make `scm_enabled_for_path` API public
Let user know if scm is disabled

Currently, if the scm disable, we would show it as "Unversion". For clarity let's status that it's disabled.