Dry up security group logic.
Dry up network selection code.
Use new translation function for security groups.
Create separate security group method.

We want to make the call method smaller and easier to understand,
and this is a part of a larger refactoring with regards to that.
Simplify security group logic.
Use translation method when we check for existence
Refactor security group method.

It now takes one security group and returns a pair of [name, id]
The config file now defaults to providing an empty array for the
security_group_{names,ids} configuration values.

We update the surrounding code to reflect the above changes.
Document security group code.
Merge pull request #54 from lndbrg/refactor-run-instance

Refactor run instance