Fix various mutability problems.

The fix was planned after #94 but I was a bit late in the party. So, this commit fixes the following:

- Fixed a mistake that `Database` was accidentally `Send`able.
- Made `Cursor::{reset, clear_bindings, step, step_row, get_blob, get_int, get_i64, get_f64, get_text, bind_param, bind_params}` receive `&mut self`.
- Made `Database::set_busy_timeout` receive `&mut self`. `Database::{prepare, exec}` has been left as is, since it is perfectly safe to have multiple cursors (see `prepared_stmt_bind_static_text_interleaved` test for an example). The associated thread safety issue is handled by making `Database` non-`Send`able.

Closes #98, #99, #100, #101 and #103.