Context menus can now handle different types and commands, as well as submenus
removed unnecessary newlines
renamed variable to make code more understandable
minor changes
updated coding style and added spec
fixes to spec
Submenus now work with old context menu structure
added separator for submenu
updated docs
docs markdown
Add verify-requirements util
Use verifyRequirements in script/bootstrap
Update bootstrap requires
Add better python path description
Merge remote-tracking branch 'origin/master' into cj-add-python-check
Fix indenting of HTML (closing) tags for instance. Fix #1294

The indentation level is not anymore reduced by adding a new line,
which previously caused multiple reductions of the indentation level.
This fixes the behavior of HTML closing tags, which currently
"jump" backwards if you try to move them down.
Upgrade to language-hyperlink@0.10
Only compare screenRow to mouseWheelScreen row when it is defined

Fixes #2482
Compute ranges of cursors & selections in EditorComponent and pass down

Previously, SelectionsComponenet::shouldComponentUpdate was storing the
ranges for selections as a side effect. We also were passing boolean
values (cursorMoved and selectionUpdated) to determine if these
components should update.

Now, we compute a simple hash of screen ranges for selections and
cursors in the root component and pass them down. This simplifies
shouldComponentUpdate for selections and allows us to implement one
for cursors.
Update cursors when the line height in pixels changes