Low: ui_cluster: Cluster sublevel implementation using Ansible

Beginning of a test implementation of the cluster
sublevel using ansible, a deployment tool with few
dependencies and a Python API.
Dev: cluster: Use crmadmin to get list of nodes
Low: cluster: Catch OSError when crmadmin fails
Low: ui_cluster: More work on cluster sublevel
Dev: cluster: Experimenting with executing playbooks
Dev: Add hahealth and rpmcheck ansible modules
Dev: playbooks: Add work-in-progress playbooks for the cluster init and doctor commands
Low: cluster: Error if local node is not in init nodelist
Low: library: Add crm module
Dev: cluster: More work on init/doctor
Low: cluster: Always enable corosync_votequorum
Low: cluster: Playbook for cluster init
Low: ui_cluster: New direction for cluster sublevel
Low: ui_cluster: Add cluster wait command
Low: ui_cluster: Revised playbooks
Dev: Use NotImplementedError

NotImplemented is a constant. The exception name is
NotImplementedError.
Low: ui_cluster: Allow cluster status without ansible
Low: playbooks.base: Don't use SSH for local operations
Low: playbooks.status: Use list vars
Low: ui_cluster: Check for ansible lazily