Backported the recent changes from Ensembl's DBConnection

- use placeholders in "do" commands
Merge branch 'version/2.0' into version/2.1

* version/2.0:
  Backported the recent changes from Ensembl's DBConnection
Merge branch 'version/2.1' into version/2.2

* version/2.1:
  Backported the recent changes from Ensembl's DBConnection
Merge branch 'version/2.2'

* version/2.2:
  Backported the recent changes from Ensembl's DBConnection