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.
Add Editor::onDidChangeTitle
Add Editor::onDidChangePath
Add Editor::onDidChangeModified
Rename softWrap to softWrapped

Our new pattern for booleans is to have ::set and ::is, and that means
the property name needs to be in passive voice for ::is to make sense.
This is in preparation for adding a new change observation method.

* ::setSoftWrapped
* ::isSoftWrapped
* ::toggleSoftWrapped
Add Editor::onDidChangeSoftWrapped
Add ::onDidChangeGrammar to Editor, DisplayBuffer, and TokenizedBuffer
Add Editor::onDidStopChanging which delegates to TextBuffer
Add Editor::onDidConflict
Add Editor::onWill/DidInsertText
Add Editor::onDidMoveCursor
Remove ‘cursors-moved’ event

It event was not document only being used in EditorComponent. Due to
our batching strategy, it’s fine to respond to individual
::onDidMoveCursor events.
Add Editor::onDidAddCursor
Add Editor::onDidRemoveCursor
Eliminate Editor::onDidMoveCursor

If you want to know if a cursor moved, subscribe to the cursor.
Add Editor::onDidAdd/RemoveSelection

Also update EditorComponent to use the new ::onDidAddSelection method.
Add DisplayBufferMarker::onDidChange and ::onDidDestroy
Remove specs for ::onDidMoveCursor, which was removed
Deprecate DisplayBufferMarker::on
Add Cursor::onDidChangePosition and ::onDidDestroy and deprecate ::on