Big refactor of the security groups commands.

- Changed the api fake to be a counterfeiter fake
- Broke JSON parsing into a seperate package
Implement command to update an existing security group

[Finishes #73494082]