Move tm_memory_commit into tm_unsync_commit within tm_lock and add limits to the number of continuous rollbacks

1. Move vcpu->need_memory_commit=1 into KVM_RR_COMMIT case;
2. Move tm_memory_commit into tm_unsync_commit within tm_lock;
3. Add limits to the number of continuous rollback and that vcpu will commit
for sure if it rollbacked too many times.

Now it seems to work fine with 2 cores but still have something wrong with
4 cores.

Signed-off-by: Le Tan <tamlokveer@gmail.com>