Wrap mailsync message update/delete in syncmanager_lock too.

These can end up modifying datastore data too (i.e. tables other than ImapUid).
Properly fill out Message.is_draft.

(This hadn't been implemented yet.)
Remove totally redundant comment.
Wrap local datastore update actions in namespace lock.
Fix Lock() implementation of __exit__()

Not sure why this hasn't bitten us until now.
Update test dump for new column
Isolate db usage to a single test

We can't really guarantee that multiple different test functions
will restore the database to its original state, especially across
files.
Specify echo=False in our engine configuration.

Makes it easy to figure out where to flip on echo=True for debugging
when desired.
Configure delete cascading for Message, ImapUid, and Block.
Make some other delete cascades explicit.
Tests for some import delete cascades.