Make sure that AutoScalingGroup depends on the launch config

It seems to be common error to do the following:
  LaunchConfigurationName: my_config
and not include a depends_on.

Largely because of the unfortunate property name.
So this patch tries to make sure the user has the
correct dependency in place.

Change-Id: I4f7d282d0af8681dc2c8cd265e16a27fe23a3bdb
Closes-bug: #1375777
Fix add_dependencies for floating_ip resource

The cause of problem is related with tricky method of Dependencies
class. So required_by method returns dictionary with resources which
have current resource in dependency. In the same time port resource
does not require floating ip, contrariwise floating ip require port.
As result required_by will not return depended port. There is one
way to solve issue: use dictionary of requires resources.

Also this patch fixes missed code error with incorrect using properties
attribute for value fixed_ip.

Notice that both these issues were not detected, because:
 - method port_on_subnet is not executed, because required_by was always
   empty dictionary.
 - current test has shadow mistake. Dependencies for router_interface
   always contain FloatingIP resource, because router gateway also was
   presented in using templates and during creation graph FloatingIp
   automatically was added to result dictionary.

Change-Id: Ida30e51d526a3f5d2a4d0a4102b1036f1c518302
Closes-Bug: #1384114
Merge "Fix add_dependencies for floating_ip resource"
Merge "Make sure that AutoScalingGroup depends on the launch config"