make case processing more transactional

acquire a lock for all case docs as they are fetched
and release all locks when complete
update travis tests to work with redis locking
degrade to no-lock behavior when redis is down

handles redis going down in the middle of processing as well
Merge pull request #180 from dimagi/lock-processing

make case processing more transactional