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.
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
Allow listeners to be removed via a Disposable returned from ::add
Pass selector first to CommandRegistry::add
Allow multiple commands to be registered by passing an object
Allow CommandRegistry::rootNode to be assigned after construction
Assign atom.commands to a CommandRegistry instance
Allow CommandRegistry::rootNode to be reassigned
Move a few workspace commands to the command registry
:lipstick: group dispatch specs
Add CommandRegistry::findCommands
Clear atom.commands after each spec
Set the atom.commands root node to document.body in beforeEach
fixup! Clear atom.commands after each spec
Set root node to workspace view when it’s constructed

Makes it easier to deal with specs
Include commands registered via jQuery in CommandRegistry::findCommands