Chainable set()

PR for https://github.com/cakephp/cakephp/issues/5318

As suggested makes following possible:
```php
$this->cell('Cell::method', ....)
    ->set('key1', $variable1)
    ->set('key2', $variable2);
```
I would also add an assert to check type of return value.