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 notice there's no assert to check that the presentation doesn't exist before inserting, which there is in all the other tests. I don't think that assert is needed for every test, for example, it's not needed here. The other tests should be updated to remove that assert when it doesn't add any value.