cloud_aws: Do not demand AWS_ACCESS_KEY_ID nor AWS_SECRET_ACCESS_KEY

If we use poni on a machine that has credentials file on users home
directory OR on a machine that has instance profile with required
permissions we have no need to have those in the environment.

Minimal set of policy permissions for instance profile so that poni
can be used to deploy on it are.

"ec2:AllocateAddress",
"ec2:AssociateAddress",
"ec2:CreateTags",
"ec2:DescribeAddresses",
"ec2:DescribeImages",
"ec2:DescribeInstanceStatus",
"ec2:DescribeInstances",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:RunInstances",
"iam:PassRole"
libvirt: clean up and use the same code for deleting disks and filesystems

The same implementation can delete all storage volumes, both assigned disks
and passed filesystems.  That code also had proper error handling for
missing volumes so let's just use it for both.  Also removed a couple of
unused variables from the function.
libvirt: refactor and clean up vm lookup

also added cloud profile to the provider key so we we can use
multiple libvirt clusters.
cloudbase: raise NotImplementedErrors for missing methods
libvirt: add a find_instances to find instances with a match function
Merge branch 'fsc' of git://github.com/saaros/poni

* 'fsc' of git://github.com/saaros/poni:
  libvirt: add a find_instances to find instances with a match function
  cloudbase: raise NotImplementedErrors for missing methods
  libvirt: refactor and clean up vm lookup
  libvirt: clean up and use the same code for deleting disks and filesystems
  cloud_aws: Do not demand AWS_ACCESS_KEY_ID nor AWS_SECRET_ACCESS_KEY