Expands ProfileManager and profile unit tests.

Adds methods for deleting, creating, and listing
profiles. Also modifies get_profile by adding
an extra arg to specify whether a non-existing profile 
should be auto-created.

Adds related unit tests to test_profile.

Methods added:
- create_profile
- list_profiles
- delete_profile

Related to https://github.com/Freeseer/freeseer/pull/632
I don't really see the need for this method if you can do the same thing with `.get(..., create_if_needed=True)`. In the case where you want to create a new profile and fail if it already exists, you can just set the flag to `False`.