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
Two things:

  1. It's never a good idea to catch ALL exceptions.
  2. You can use [pytest.raises](http://pytest.org/latest/assert.html#assertions-about-expected-exceptions) to make sure an exception is raised.