ISPN-3542 Read Only transaction optimization doesn't work properly for RepeatableRead

* Changed LocalTransaction readOnly optimization to be for modifications only.
* Locks are always released on commit async after it completes whether from 1PC or 2PC
* Locks are always released on rollback as global tx is marked complete
* Also added tests for FORCE_WRITE_LOCK to make sure it works properly with lock acquisition and release