Add foreign key constraints to cascade deletes.

cc @mgpcoe for code review.

The intended behavior is for blocks to be deleted when we delete block batches; and for all of a user's data to be deleted when we delete the BtUser.

I've never worked with foreign key constraints before. Please be nitpicky.