Docblock fixes identified by scrutinizer-ci

- Primarily param/return values.
- Scrutinizer wants to add `@return void`, which I'm resisting, and also
  does not seem to like `|`'d param/return types.
Incorporated all feedback from scrutinizer-ci

Many small changes, primarily to be more type-safe.
Added scrutinizer-ci badges
Merge branch 'hotfix/scrutinizer-feedback'

Enabled scrutinizer-ci, and started incorporating feedback.