fixes various mutability problems.

- 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. the associated
  thread safety issue is separately handled.

closes #98, #99, #100, #101 and #103.