Support instance properties

This adds support for several instance properties: subnets, instance types, and keypair names.  It also adds the ability to pass security groups by ID when creating a new instance.

I've added arguments to ``add_instances`` in a backwards-compatible way so older calls to that function will still work.  It should also be easy to add support for other instance properties in the future (e.g., placement, VPCs, etc.).