addressed the excessive kinds on `Database`. fixes #103.

- `Database` is now `Send`able, but it remains non-`Copy`able
  and non-`Sync`able. thus this change only permits `Database`
  to be *exclusively* shared across tasks.
- while it is not strictly necessary, @apoelstra pointed out that
  leaving `Database::exec` to only require an immutable reference
  may result in a surprising behavior. as a conservative measure,
  this commit also changes it to require a mutable reference.