Revert the revert of Optimistic Locking
What does this MR do?
It reverts the revert of optimistic lock https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5146 (and revert MR https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5245)
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/19871
Actually the code is already reviewed, except:
- Monkey patch
config/initializers/ar_monkey_patch.rb
- We removed default values from migration
db/migrate/20160707104333_add_lock_to_issuables.rb