Update to Sergei Nikulov's fix for issue #15

Clarify supported sequence of statement::execute(false|true) and
statement::get_affected_rows() calls across all backends:
1. execute(false) and empty destination does not execute statement, but
prepares for subsequent statement::fetch() requests.
2. execute(true)  and empty destination calls requests backend to
execute statement.
3. execute(false|true) causes bulk fetch to destination, with
withDataExchange=false|true ignored.
Moved relevant test to common tests, confirmed it passes for all but
Oracle (get_affected_rows not implemented) and Firebird (I have no means
to test).
Related discussion at
http://sourceforge.net/mailarchive/message.php?msg_id=30312517
Thanks to Sergei who first proposed this behaviour as reliable and
consistent option, yet not intrusive.