adds ex_security_group_ids to ec2 in order to be able to launch nodes with security groups on a VPC

Due to amazon having a different param for the security groups on an instance launched on a VPC and libcloud already supports VPCs (ex_subnet) this is the piece is missing to support the security groups on a VPC node

- adds a ex_security_group_ids kwarg which is a list of security group ids
- checks for the existence of ex_subnet if ex_security_group_ids is called, as it depends on it to make sense
- adds a test to see if the params are being constructed correctly

EC2 API page: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-RunInstances.html
```
SecurityGroupId.n
One or more security group IDs. You can create a security group using CreateSecurityGroup.
Type: String
Default: Amazon EC2 uses the default security group.
Required: No
```
```
SecurityGroup.n
[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, you must use SecurityGroupId.n.
Type: String
Default: Amazon EC2 uses the default security group.
Required: No
```
Edit - I just noticed there already is an `ex_security_groups` parameter.

Having two parameters with a very similar name is confusing. If possible, we should consolidate it into one.