Geo: read-only safeguards was not working on Secondary node

Merged Gabriel Mazetto requested to merge 3876-can-push-code-to-geo-secondaries into master

What does this MR do?

Fixes Gitlab::Database.read_only? in EE. Old code was trying to use extend to patch existing code, but the way it was done was not working as expected, see explanation here: https://gitlab.com/gitlab-org/gitlab-ee/issues/3876#note_45127903

Are there points in the code the reviewer needs to double check?

Why was this MR needed?

Regression introduced in %10.1 breaking read-only safeguards for Geo secondary node.

Screenshots (if relevant)

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #3876 (closed)

cc @stanhu @to1ne @nick.thomas

Edited by Gabriel Mazetto