Adding tests for Account.add_group().

These tests ensure we can accept the group as either:

- An object.
- A href.
- A group name.

This makes it easier for developers to add groups.
Modifying Account.add_group() method.

It now accepts groups as a href, object, or name.
Using the 'six' library to handle python3 strings properly.

Backporting the changes to the Account.add_group() method.
Adding tests for Account.add_group().

These tests ensure that we return an appropriate exception if the group passed
to us is invalid.
Implementing exception handling for Account.add_group().

We now properly handle raising the appropriate exception type based on user
input.
Making the 'six' dependency flexible.
Fixing conflicts.
Moving our tests over to a helper method.

This keeps things isolated.
Modifying Account.in_group() and Account.in_groups().

These now accept group objects, hrefs, or names!
Bumping readme with change details.
Adding tests for a _resolve_account helper method.
Cleaning up imports.
Adding tests for our Group.add_account() method.

This ensures the method acceps accounts in all forms.
Adding Group._resolve_account() method.

This grabs an Account resource in a number of ways:

- Object.
- href
- Username
- Email
Modifying Group.add_account().

It now supports all forms of account specifications!
Updating changelog.
Ensuring our Group.add_account() method raises an error if the user is already a
member of the group.
Adding test to ensure that if we try to add a group to an account that already
exists, we raise an exception.
Adding tests for Account.remove_group() method.
Implementing Account.remove_group().