Make MySQL affected row count consistent with other DBMSes 

"UPDATE t SET a = 1" now returns the number of rows that have a = 1 after the update instead of the number of rows that have been updated to a = 1.

Inspired by https://github.com/phpbb/phpbb/pull/2492
Largely replaces #8432 (the tests should probably be kept)

Please note that the PDO::MYSQL_ATTR_FOUND_ROWS constant might be undefined when the MySQL PDO driver is not available. This results in a bit of ugliness in code.

@butonic @nickvergessen @PVince81 @DeepDiver1975 @icewind1991