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 public getters instead of properties in pane-spec
Start adding event subscription methods to pane

This branch uses EventKit, an ultra-simple library for implementing
events. The object implementing the methods maintains its own emitter
object rather than doing a mixin like Emissary encourages. This will
make it easier for us to deprecate ::on on the object itself. Unlike
emissary, the EventKit Emitter implements a super minimalistic API that
only allows one value to be emitted and always returns a Disposable
from subscriptions.
Add Pane::onDidMoveItem()
Add spec for onDidRemoveItem observers when moving items to other panes
Add Pane::onDidActivate
Add Pane::onWillDestroyItem()
Add PaneContainer::onDidChangeActivePane
Add Pane::onDidChangeActive()
Subscribe with new event methods in PaneView
Add Pane::observeActive and ::observeActiveItem

These have behavior semantics, invoking the observer immediately with
the current value of the observed property.
Don’t invoke ::onDidChangeActivePane events unless it really changes
Don’t emit ::onDidChangeActiveItem events unless it really changes
Use Pane::setActiveItem internally so observers are invoked
:lipstick:
Handle objects in subscriptions instead of multiple args
Use getActiveItem getter in pane-view-spec
Use Array instead of Sequence for Pane::items
Don’t rely on Sequences to reparent the last child
Don’t use Sequence in PaneAxis