new users should be warned about cson

improper trailing and leading spaces can cause your bindings to fail.Since cson has very little adoption relative to json, I think it's important to warn new users that they need to understand CoffeeScript notation or else a single space could break their file. I spent one full hour today trying to get an auto-indent mapping to work. The solution involved adding one leading space!
Update keymap.cson
Update keymap.cson
Start on StyleManager

This will take over raw stylesheet management from the theme manager
now that it’s becoming more complex with the need to target specific
host elements. Instead of actually adding nodes to the head of the
document, it will instead simply manage a set of stylesheets we want to
apply and leave actual DOM manipulation to <atom-styles> custom elements
that can render the set of active stylesheets in the appropriate
locations.
Add sourcePath parameter to StyleManager::addStyleSheet
Add group parameter to StyleManager::addStyleSheet

This can be used to sequence style elements at the correct location in
the cascade even if they are loaded later than elements in a subsequent
group.
Revise StyleManager API
Add StyleElement

This will be used to handle stylesheet rendering when we move management
of loading stylesheets to the StyleManager instead of the theme manager.
This sets us up for being able to render specific stylesheets in shadow
roots in addition to just having global stylesheets.
Use StyleManager and StylesElement to manage all stylesheet elements

For now, loading remains in the theme manager, but all application of
stylesheets is routed through atom.styles.
Add StylesElement::onDidAdd/RemoveStyleElement
Handle style element updates in StylesElement
Subscribe to <atom-styles> element to shim events in ThemeManager

This is better than subscribing to atom.styles because the events it
emits contain the *actual* style elements we insert into the DOM.
Fix theme-manager-specs
Assign properties in addition to attributes for convenience
Add initial panel API. 

It can only add things to the left right now.
Opt out of command registration for textInput events

There seems to be issues capturing them when they are programmatically
dispatched via dispatchEvent. This was causing problems for the vim-mode
specs. This event belongs among the native events that aren’t treated
as commands anyway.
Add panel containers
Only require coffee file when available

Closes #3864
Add missing require
Fix join lines so that only a single space will exist between two lines that are joined.