Load local IP using separate post-boot Metadata.

Previously we could not feed the IP of an instance into its own
Metadata because of circular dependency problems. 0.0.0.0 was used
with the heat-localip element to work around this problem. This
caused problems though, as heat-localip would edit the source local
heat metadata, which would make cfn-hup and/or os-collect-config think
that the Metadata had changed, causing it to restart everything every
time we query the Metadata, which was about every five minutes.

Now we can just query this inert LaunchConfiguration resource to get
its' Metadata once it is ready. This resource will only change when
legitimate things are changed in the stack, and so we won't restart
everything every five minutes anymore. Note that when the native Heat
DSL lands, the OS::Heat::SoftwareConfig resource is meant for exactly
this purpose.

After this is merged we no longer need the heat-localip element.

Fixes bug #1202322

Change-Id: Id06323ba43203570eeebfa5b3d03fa56c16c0c10