Remove string concatenation.
Fix various code style related issues as reported by Scrutinizer.
Run PHPMD over complete project on pre-commit.

Run PHPMD over complete project on pre-commit, so the exclusion of
tests works.
Message: throw InvalidArgumentException when passed invalid type.
Expanded invalid originator exception message.
Move data providers to bottom of test class.
Service: throw an InvalidArgumentException when wrong type, test names
Append API errors to API exception message.
Add missing license header.
Pass previous exception to ApiRuntimeException.
Catch some uncaught Guzzle exceptions.
Fix array arrow alignment.