Refactor ews_update_items_thread() to do all database access together

Once we start doing locking, we'll want the whole update to happen in
one transaction, so do all the network access first.
Kill store_to_cache option for ebews_fetch_items()

We don't use this any more...
Clean up resync code path in ews_update_items_thread()

Stop it being so much of a special case; just populate an 'items to be
deleted' list with everything that's currently known, set the sync_state
to NULL and loop again.
Use EBookSqlite locking
Add cursor support to addressbook
Add DRA support to addressbook