[2.2] read_only change

With this PR the read_only setting ONLY means that transactions with updates cannot commit. Specifically all other uses of the flag has been removed, and cluster slaves can now have their databases updated, allowing for reporting instances to be deployed.
Removing this explicit check will never have the `ReadOnlyDatabaseKernelException` thrown, right? Either it could be removed as checked exception thrown from that method, or for example `StateHandlingStatementOperations#labelGetOrCreateForName(String)` could catch the new `ReadOnlyDbException` explicitly and throw `ReadOnlyDatabaseKernelException` in that case. Because now I think we'll end up with an unexpected `TooManyLabelsException` thrown from `StateHandlingStatementOperations#labelGetOrCreateForName(String)` and friends, which we probably don't want.