Refactoring

This refactoring should be merged into the v3 branch.

Inspired by Crossjoins implementation I refactored the class and added some features I saw at ua-parser library.

Main changes:
- the auto update function is removed
- the base class is splitted into pieces

New Features:
- use other caches than the file cache
- use a command line tool for updating the cache, parsing useragents/access logs
- if PHP 5.4 or newer is used, the cache could be updated from the browscap class directly by adding a dependency for composer