Move file browser divider into parent view
Tweak OakGradientView

- Accept two NSGradient objects instead of four colors.
- Call designated initializer on super instead of self since subclass is likely calling us from its designated initializer
- Make class public
Let file browser header inherit from OakGradientView
Simplify constraints and set a height for file browser header
Increase tab bar size one pixel

This is to match the minimum allowed size for the sidebar header when the tabs above document is enabled, also matches the height of the forthcoming tab redesign.
Shrink height when tabs above document is enabled
WIP: Add action bar to file browser
Restyle and add graphics to file browser action bar
Script to create default bundles would always exit successfully

We shouldn’t do anything after the essential line of the script, as we want that line’s status code to be the script’s exit status.
Ensure document is open during save

Saving is done asynchronously so the document might be closed while being saved. This in itself is not an issue, but the “post save” function will assume it has an open document for “marking as pristine” and executing potential “document did-save” callbacks on.
Fix crash in bundle editor

I have added a check to ensure we have the bundle item content (in addition to the bundle item) which fixes #774 although it is unclear to me how the bundle editor would end up in a state where it has a bundle item but no content for that item. There is a window in the setBundleItem: method where the bundle item content hasn’t yet been setup, but commitEditing is not called during that window.
Don’t show tool tips with only whitespace
Use generic file/folder icon when OakFileIconImage.path == nil
Let FSItem use OakFileIconImage.
Don’t show SCM badges for untracked items

All of these will always have the same badge, so there’s no reason to show it (and it covers the alias badge, so there is some usability benefits beyond just the visuals).
Show icon in Go to Tab sub menu
Reset undo/redo menu item titles

The undo manager will change the titles (e.g. “Undo Rename”) when it’s first responder, so we need to change them back, when the text view is first responder.
Don’t try to toggle caret with no layout
Accept NULL_STR in path::info
Align close button (×) with file labels

Closes #391.