Added support for NonQuery to get affected rows

- Added support for free text sql statements with optional params which
allows the called to get the number of affected rows. This should be
usable across all databases since it's using the standard
ExecuteNonQuery from IDbCommand.
- Added unit tests for the functionality