Merge branch 'cs/#6699-zend-dom-psr-2-compat'

Close #6699
Added connection abstract
- Added Connection abstract class in concrete classes.
- Removed redundant properties/methods (kept type hinted elements)
- Enforced interface contract method return type for several transactions methods.
- Used accessors instead of properties in transactions methods
Made getResource() more consistent between Drivers, getResource() now
tries to connect if not connected in all the drivers.
Added unit tests for transaction support.
@return Connection => @return self
PSR-1 fix
CS fix after Travis fail
- Added Connection abstract class in concrete classes.
- Removed redundant properties/methods (kept type hinted elements)
- Enforced interface contract method return type for several transactions methods.
- Used accessors instead of properties in transactions methods
Added nested transactions support
Added unit tests for nested transactions
#5505 - replacing test with new tests introduced in the PR
#5505 - splitting test and test asset logic
#5505 - fixed class name (broken autoloading)
#5505 - minor CS fixes/reverting unrelated diffs
Merge branch 'feature/#5505-support-nested-transactions' into develop

Close #5505
Set custom query for count
#5505 - constant usage instead of magic constants
#5505 - removing unused import
#5505 - removing useless `= null` default property assignments