updated regex in usesSoftTabs to only look for Tab and Space
Added linux open-folder keybind.
Moved application:open-dev to `ctrl-alt-o`
Use public getters instead of properties in pane-spec
:lipstick: simplify assignment using coffeescript magic
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