Add multiple backend support
Add multiple backend support

When the host argument is supplied and the host has multiple cinder
backends configured, duplicate status metrics are returned. MaaS
currently only checks the last value during alarm evaluation. If the
last backend metric is 1 (up) but previous backend metrics are 0 (down),
no MaaS alert will be fired.

This change addresses this by evaluating all services for a host first,
and then aggregating the results into one status metric.

Additionally, each backend on the host now has its own status metric to
aid in troubleshooting and allow for alarms to be set on individual
backends.

Issue #836

galstrom21/rpc-openstack,cloudnull/rpc-openstack,claco/rpc-openstack,byronmccollum/rpc-openstack,sigmavirus24/rpc-openstack,cfarquhar/rpc-openstack,darrenchan/rpc-openstack,mancdaz/rpc-openstack,xeregin/rpc-openstack,galstrom21/rpc-openstack,xeregin/rpc-openstack,BjoernT/rpc-openstack,hughsaunders/rpc-openstack,xeregin/rpc-openstack,major/rpc-openstack,git-harry/rpc-openstack,mancdaz/rpc-openstack,claco/rpc-openstack,rcbops/rpc-openstack,robb-romans/rpc-openstack,cloudnull/rpc-openstack,byronmccollum/rpc-openstack,jacobwagner/rpc-openstack,darrenchan/rpc-openstack,cfarquhar/rpc-openstack,robb-romans/rpc-openstack,sigmavirus24/rpc-openstack,xeregin/rpc-openstack,prometheanfire/rpc-openstack,rcbops/rpc-openstack,jacobwagner/rpc-openstack,sigmavirus24/rpc-openstack,darrenchan/rpc-openstack,claco/rpc-openstack,sigmavirus24/rpc-openstack,darrenchan/rpc-openstack,major/rpc-openstack,shannonmitchell/rpc-openstack,hughsaunders/rpc-openstack,byronmccollum/rpc-openstack,git-harry/rpc-openstack,prometheanfire/rpc-openstack,BjoernT/rpc-openstack,shannonmitchell/rpc-openstack