FEATURE: select custom SQL columns

A new `Query` method `custom()` , which adds extra columns to select. Resulting model will have propertes for those columns.

Example:
```php
// assume Model_Person has properties 'firstname' and 'sirname' but not 'fullname'.
$query = Model_Person::query();
$query->custom(array('fullname' => DB::expr('CONCAT(firstname,\' \',sirname)')));
$people = $query->get();
foreach($people as $id => $person)
{
    echo $person->fullname;
}
```

Adding columns in such way would be useful, for example:
* relevance score for full-text search
* row numbers for a table
* and other expressions better to calculate on database server