Expands ProfileManager and profile unit tests

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 unit tests to test_profile.

Methods added:
- create
- list_profiles
- delete

Related to #632
Fix #654. Recording from USB Source Broken

Adds methods to generate valid default values for
plugins with multiple input sources.

Affected plugins:
- USB video source
- Firewire video source
- Pulse audio source