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
Sorry I only just saw this one now.

@dideler are we sure we want to compare ALL fields here?

Keep in mind if we change this behaviour it will affect ALL existing functions that use this. Mainly the purpose of this function was to decide if a presentation already existed by checking for the fields we considered makes a unique talk so the talk editor behaviour will change if we change this function.

By checking all fields it would mean if any field is different the talk will no longer be considered a duplicate even if the speaker and title were the same thus the talk editor would allow one to add multiple talks with the same speaker and talk title.

I think some update functions also use this to update talks during rss / cvs import. So if a simple speaker and title combo are no longer the defining fields to determine if a talk is new or should be updated then future rss imports will no longer update fields and instead ALWAYS create new entries.