CRM_Utils_SQL_Select - Allow fluent query execution
When I first wrote `CRM_Utils_SQL_Select`, I was a bit dogmatic about
loose-coupling and wanted the class to be entirely independent of the SQL
runtime. But this is a bit annoying in usage and training.
Before
======
To build and execute query, you had to pass the rendered SQL to the execute
function, eg
```php
$select = CRM_Utils_SQL_Select::from('mytable')
->select('...')
$dao = CRM_Core_DAO::executeQuery($select->toSQL());
while ($dao->fetch()) { ... }
```
After
=====
You can use more fluent style:
```php
$dao = CRM_Utils_SQL_Select::from('mytable')
->select('...')
->execute();
while ($dao->fetch()) { ... }
```
And you can chain with other DAO functions like `fetchAll()` or
`fetchValue()`.
```php
$records = CRM_Utils_SQL_Select::from('mytable')
->select('...')
->execute()
->fetchAll();
```