Try to improve dependencies
Documentation cleanup
Convert to cargo project

Move library into directory, and depend on sqlite3.  Create a small
program that links with sqlite3 to make sure that works.
Add test support for temporary directory

The 'TempDir' struct tracks a newly created tempdir, created with a
pseudorandom name.  When it goes out of scope, the directory is
cleaned up.
Setup Makefile for building

cargo is not quite implemented fully enough to use for regular
building, so restore some make targets.
sql: Find and support compatible schemas
sql: Implement transactions

Due to a rustc bug:
  https://github.com/rust-lang/rust/issues/13853
  https://github.com/rust-lang/rust/issues/14889

this requires the 'unsafe_destructor' attribute on the Transaction
class.
rustc update: Explicit const raw pointers

Rustc now denies `*T`, and raw pointers must be either `*mut T` or
`*const T`.  Fix up the few of these in the SHA1 ffi.
rustc: Updates for explicit integers

Rustc no longer assumes an unspecified integer as `int`.  If inference
doesn't result in a resolved type, it is considered an error.

Fix this with a few 'u' and 'i' annotations.
Basic file pool creation

Implemented as a test (but not exported yet).  Can create the current
version of the pool.