Fix #642 Add tests and refactor test_plugins

- Refactor test_plugins to use pytest
- Add new plugin tests
- Add FIXME comment for firewiresrc issue

Related to #619
Related to #484
Minor improvements to framework/test_plugins.py

:lipstick: Refactoring #642
Fixes error at startup for windows missing plugin

Moves get_default_device and get_default_source methods
out of affected plugin Config classes and into the
get_videoinput_bin or get_audioinput_bin methods, so
that no OS-dependent plugin code gets run at startup.

Fix #658
:green_heart: Fix spacing for inline comments
Added configuration api endpoint stubs.
Adds a configure method to controller.
Adds plugin type map.
Adds some WIP payloads for endpoints.
Cleans out unused imports.
Corrects formatting for dicts.
Updated endpoint routes to match spec.
Updates to endpoint arguments, and some WIP implementation.
WIP Implementation for VIEW recording.
Updates recording and general configs.
Updates unimplemented enpdoints.
Fixes some issues with endpoints.
Added WIP unit tests for configuration api.
Adds decoding of option values, and some more tests.
Adds unit test stubs and PATCH endpoint impl.
Implements list/view/create/delete for profiles.