Added async methods!

Also, figure out how to mock protected methods, so I don't need the MockDbCommand object anymore.
Only got about half of the unit tests duplicated for async methods.