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
It's generally a bad idea to test your complementary functions against each other as it's quite possible that both could be wrong in the same way.

For example, I once I had to implement DCT (Discrete Cosine Transform) and its inverse for a JPEG assignment. I made the mistake of testing them against each other (e.g. original == inverse(dct(original))) and had a hell of a time figuring out why other DCT implementations weren't able to decode my stuff.