Client based detection

* Refactored detections into several parser classes
* Now there are three parts detected for each (non bot) useragent
  - Operating System
  - Device (splitted in type, brand and model)
  - Client (which can be a browser, feed reader, media player,...)
* Added detections for several new client types
  - media players
  - feed readers (moved from bot-like detection)
  - pim (personal information manager)
  - mobile apps
* use composer to require phpunit in dev environment