Implemented OptimisticConflictChecker. It was pretty simple but it's untested at the moment. We also need to hook it into the PartitionExecutor so that it we can check for conflicts when we commit the distributed transaction. This is a slightly different use case than how we use the other conflict checkers. #132
And just like that we have test cases for the OptimisiticConflictChecker. #132