Fixes a couple of issues found when running tests on the device

Continues work on #348 
Related to discussion on https://github.com/couchbase/couchbase-lite-net/pull/352
@zgramana not sure why you had removed this ```throw``` but tests were failing so I had to put it back... It also makes sense to re-throw exceptions since transactions now run inside a ```Task```.