Makes the host aggregate functionality work with cells

 + In the openstack api, it moves database access and other
   functionality to the nova.compute layer
 + It adds support for aggregates in nova.compute.cells_api
 + It adds the following host aggregate related functions to the cells
   rpcapi and messaging systems:
     * create_aggregate(self, ctxt, aggregate_name, availability_zone)
     * get_aggregate(self, ctxt, aggregate_id)
     * get_aggregate_list(self, ctxt, cell=None)
     * update_aggregate(self, ctxt, aggregate_id, values)
     * update_aggregate_metadata(self, ctxt, aggregate_id, metadata)
     * delete_aggregate(self, ctxt, aggregate_id)
     * add_host_to_aggregate(self, ctxt, aggregate_id, host_name)
     * remove_host_from_aggregate(self, ctxt, aggregate_id, host_name)
 + It increments the cells_api version from 1.19 to 1.20

blueprint cells-aggregate-support
Change-Id: I079f767ad1c4e966c22d6722c0dfea6d5f35c54d

Conflicts:
	nova/cells/manager.py
	nova/cells/messaging.py
	nova/cells/rpcapi.py
	nova/tests/cells/test_cells_manager.py
	nova/tests/cells/test_cells_messaging.py
	nova/tests/cells/test_cells_rpcapi.py