Added transaction control methods to DatabaseConnection. These methods simply passthrough to the underlying PDO connection.
Updated QueryResult to only use result cache on demand. This will make results more memory performant in most cases. Row cache must now be explicitly enabled before first iteration of result set.