request_spot_instances seems to be missing the security_group_ids parameter as per run_instances().
Because of this, there seems to be no way to assign security groups to a spot instance created inside a VPC as when supplying subnet_id (for VPC), the security_groups parameter is not accepted, as per run_instances().
Adding group_ids to spot instance requests. Also added ability to spe…
…cify instance profile and ebs optimization and cleaned up some code. Fixes #850.