Add Model type hints, and ease testing.

```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 ```DboSource::group()```:
* Update documentation.
* Bail early when fields are empty.