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
Yes. If the there is no data in the database it will return False when it tries to go to the first record in the result.
For instance, if the db.insert_presentation(presentation) line is commented out, then there will be nothing in the db. So when this line is executed it will return False.

I have removed the if else and replaced it with an assert, e.g. assert talk_ids.first().