Change ctrl-a binding to editor:move-to-first-character-of-line

Considering that the entire Atom core team has ctrl-a bound to move to
the first character and it's also the the default behavior of Sublime,
this seems like a more sensible and useful default option even though
it deviates from text editing norms on OS X.
Use event methods for theme subscriptions
Use event methods in EditorComponent
Add KeymapManager::onDidLoadBundledKeymaps
Use the new split*() methods on Pane model in WorkspaceView specs
Add ThemeManager::onDidUpdateStylesheet
Move global editor stylesheet updating into the ThemeManager
Force visibility-change checking in EditorView.

When an `EditorView` becomes attached, if hardware acceleration is enabled,
the call to `pollDOM` is a no-op because there's already a refresh pending.
This can cause problems, because then the initial measurements don't happen
and (for example) the lineHeight is left as null - it'll be set on the next
rendering, but not before subscribers to `workspaceView.eachEditorView` are
notified.
Merge pull request #3517 from smashwilson/ensure-measurements

Force visibility-change checking in EditorView's afterAttach method
Only call ::checkForVisibilityChange on editor attachment, not ::pollDOM

I’m pretty sure ::pollDOM is subsumed by ::checkForVisibilityChange
because there’s no reason the editor would be considered visible prior
to being attached.
Upgrade autosave to autosave all items on window blur
Subscribe to items via event methods. 

Add deprecation warnings when they don’t return a disposable
Upgrade autosave to suppress autosave when opening menus inside editor
nof
Fix / clean up specs
Start on CommandRegistry
Perform synthetic bubbling through event target ancestors
Order multiple matching listeners by selector specificity
Handle .stopPropagation() being called on command events
Handle .stopImmediatePropagation() being called on command events