Add Table::findOrNew()

This method lets you easily find an existing entity or generate a new entity with the chosen properties. In addition to finding entities, it lets you patch/set additional attributes on the found/created entity.

I decided to call the method `findOrNew()` as I wanted it to have consistency with `newEntity()` and I was concerned that `findOrCreate()` might imply that the entity would be saved.

Refs #4631
```php
return $this->save($entity) ?: $entity;
```

?

There's no means to pass save options, so you can't e.g. prevent validation and in any case can't handle db or other errors like this.