Close #556 CLI talk tests

Add tests that check the add, remove and clear functions of CLI talk

test_add_talk(): adds a talk via CLI and checks for its existence in the
database
test_remove_talk(): removes a talk via CLI and checks that it
does not exist in the database
test_clear_talks(): clears every talk via CLI and checks for an empty
database
Added missing gstreamer-python and sphinx dependencies.
Fix #558 "setup" buttons in the config tool were broken
Fix #460 Youtube API tests

- Unit tests for Youtube frontend

- Unit tests for Youtube API

- Uses mocks where needed
Removed an unnecessary new line
Update link to project proposal

This term we'll be using the shiny new proposal!
/cc @Freeseer/students
Added naming to popup dialogs in ConfigTool

The dialogs created by pressing the "setup"
buttons in the recording tab of ConfigTool
would all have the title "python". This has
been fixed to have more appropriate titles.
Close #435 Create HTTP API for controlling Freeseer recording

Adds a flask based server that can be launched from the CLI
The server has a RESTful API for controlling the recording process
The API currently supports:
    - initializing recordings
    - starting recordings
    - pausing recordings
    - stoping recordings
    - deleting recordings
    - getting information about recordings
    - getting a list of all available recordings
There is also testing included to test the different API calls
Replaced references to unittest with pytest

The developer testing documentation became outdated with the move to
pytest. Therefore, old test examples using the unittest framework were
removed and replaced with an example of using the pyunit framework.

Close #467
Related #420
Related #566
Add tip for Windows install to Quick Start guide

An error may be encountered with the Windows
install of GStreamer by OSSBuild. This can be
solved by copying over some files and deleting
another. The required information is now
provided in the Quick Start guide
Fix #562 refactor YouTube tests.
- Refactored the youtube framework tests as suggested in #517.
- Reformatting multi-line dict and lists.
- Constant renamed to upper case.
- Refactored tests to use test case lists.
- get_defaults() test checks against an expected dict.
- Adding missing commas to items in list/dicts.
- Refactored some test cases to use pytest.
- Using capsys instead of sys.out for pytest fixtures.
Added todo list to the testing documentation page.
Updated configuring your environment for pytest.
Added todo list to the testing documentation page.
Updated configuring your environment for pytest.
Replaced lost work..
Updated example unittest to pytest.
Updated example description.
Added update to assertion section, since pytest has a different style of asserting failures, and prints different output when a failure occurs.
Updated the rest of the document WRT pytest