Fixed fetchRow to return joined objects when not parsing objects in manual queries

When manually specifying what fields to return (via `array('alias' => 'sql expression')` in the `->from()` method) and calling `->fetchRow(false)` the resulting array is the same as the fields array with the expression evaluated.

If not passing the fields manually the columns are unaliased with the columns of the from table being set in the root of the resulting array and any joined rows are set on their alias.

Still does not support returning a result where multiple joined rows are returned from the same join table.