Add Model type hints, and ease testing for Model.

```Model``` objects should be in CamelCase.
Add Model type hints.
Replace ```is_object()``` calls in favor of ```!== null``` when the test subject is already type hinted as a ```Model```.

Update ```_parseKey()``` signature so that ```Model $Model = null``` can be set as last argument, like ```conditions()```, ```conditionKeysToString()```, ```order()``` and ```group()```.

Update ```DboSource::group()```:
* Update documentation.
* Bail early when fields are empty.