[KNIFE-231] and [KNIFE-277] workaround

Changed address fetching code to fall back to grabbing the first available address if an interface with the specified name is not found. This prevents knife from throwing an exception if none of the networks are called either "private" or "public".

I'm in the situation where are multiple Openstack cells, the network in each is named differently and I can't control which cell my VM is started in so being able to specify the network name doesn't help.