Statement iterator implementation and cache fetched data.

Hello,

Could someone test `fetch*()` ?
I can test only with MySQL but it does not support cursors.

Should and can we cache `fetchColumn()` ?

The iterator seem to work well.
We can also do some things like below without re query.
```php
$stmt = $dal->query('SELECT * FROM foo;');
$stmt->fetchFirst();

$allData = $stmt->fetchAll();

foreach ($stmt as $row)
    echo $row['bar'];
```
Why not simply `count` with a [`Countable` interface](http://php.net/countable)?