Reworked Add Host to Aggregate in template

We must register the host with the aggregate using the host id on the overcloud.

We can not get this information directly.  But fortunately the ID of the host in the overcloud is some amalgamation of the name of the instance that we specify in the Heat template.

This patch modifies the user-data script to poll nova host-list and pattern matches the list to look for the relevant hosts.  Once they are found (i.e. registerted) the script then associates the node with the relevant aggregate.

Tested on dev box, output:

```
# nova aggregate-details 1
+----+------------------+-------------------+-----------------------------------------------------------------------+---------------------------+
| Id | Name             | Availability Zone | Hosts                                                                 | Metadata                  |
+----+------------------+-------------------+-----------------------------------------------------------------------+---------------------------+
| 1  | compute-rc-hosts | None              | [u'overcloud-novacompute00339ca1-186d-4fa9-a617-3d0ec3cafbfc-54hikq'] | {u'class': u'compute-rc'} |
+----+------------------+-------------------+-----------------------------------------------------------------------+---------------------------+
```