Added functionality to assign FloatingIP addresses

The Instance class got an boolean field 'assignFloatingIp', false by default.
If this is set 'true', the instance will attempt to assign a floating ip in one
of its networks (starting from default ones)

NetworkExplorer class got a functionality to dicover the ID of the external network:
- for newly created networks it will use their specified external router's external_gateway_info
- for existing networks it will iterate among all their routers

Change-Id: I754cd41ffacbf2a2ec62ac23c3a5a7883d1e13b5
Closes-Bug: #1314193
Merge "Added functionality to assign FloatingIP addresses"