Clean up copy preparation a bit
Optimize execute

Avoiding the statment close by using the unnamed statment improves the
lower bound perf by ~1/3:

test bench_execute        ... bench:    425429 ns/iter (+/- 24970)
test bench_naiive_execute ... bench:    607967 ns/iter (+/- 53434)

cc #83
Allow statements to be prepared on any object

Statements aren't cleaned up at the end of a transaction, so this is
safe.
Add Notifications::next_block_for method

The setup is a little hairy, but seems correct.

cc #19
Fix race condition in next_block_for

If we hit the timeout while not blocked on read, the timeout would
overflow.
Clean up race condition fix
Remove a bunch of slice sugar usage
Cleanup
Cut out some allocation in read_message
Use monotonic time for timeout logic
Add next_block_for example
Fix for equality changes
Remove unneeded feature
Bump phf dependency
Release 0.1.3
Remove remaining [] usage
Couple more []s
Fix off by one in index impl
Clean up some equality checks
Update readme to use crates.io packages instead of git