Medium: help: Rewritten help subsystem

Simplified the help implementation in anticipation
of the larger UI patch.

 - Removed help index
 - Paginate with colors if possible
 - New faster help file parser

The module now exposes these functions:

 - help_overview()
 - help_topic(topic)
 - help_level(level)
 - help_command(level, command)
 - help_contextual(context, subject, subtopic)
High: UI makeover

Work-in-progress patch to split ui.py into multiple files.

* command.py -- Implements the UI level base class plus
a set of helper decorators for declaring commands.

* ui_utils.py -- Utility functions for the UI classes.

* ui_tree.py -- Holds the UI root.

* ui_root.py -- Similar to TopLevel from ui.py

* cmd_status.py -- wraps crm_mon.

* ui_*.py -- Implements the UI levels.
Updated README
Medium: Add report level to wrap crmsh_hb_report

Provide a crmsh interface to crmsh_hb_report.

Adds documentation for the cluster and report levels.
Dev: Add .gitignore
Low: Add missing help header for cmdhelp_status
Low: More informative error when module loading fails
Dev: Helper functions to colorize help
Low: Improved help highlighting
Low: Fix minor errors in new UI classes
Low: Fix pager height calculation
Low: Initial bash completion / completion framework
Low: Completers for options, cib, template
Low: completers for ra, node
Low: Apply completion to installed crm command
Low: Catch exceptions in context completer
Low: Fix typo in ui_resource
Low: Fix ordering in ui_options
Dev: Add booleans completer
Low: Fix completion in ui_cibstatus