unit test and refactor database.py

Updates to ``tests/framework/test_database.py`` and ``framework/database.py``.

- Replaced ``test_database.py`` ``unittest`` references with ``pytest`` references
- Removed test methods that checked the return type of database functions
- Added test methods that checked the return values of database functions
- Modified database functions to handle python strings properly
- Added bound values to the add_presentation and update_presentation database functions.
- Removed dummy record inserted by default.

Related gh484
I added the functionality to check if the presentation object passed into the function exists in the database using every field of the input object. However, this cause some problems with the csv and rss related unit tests. Specifically because the mock object in these tests only use the 'speaker' and 'title' fields to check if the presentation exists in the database.

The reason these tests use only these two fields is due to the database only every allowing one presentation to exist for a given speaker-title combination.

Checking all of the fields of an object makes more sense though, so I will figure this out. For instance, if one part of Freeseer inserts a presentation, then another part of Freeseer tries to insert another presentation with the same primary key, then the second presentation will not be inserted into the database. However, if the two parts of Freeseer asked if the presentation_exists, then both will get the response Yes, because of a presentation being found with the same primary key (which both have).