refs #6545 do not request live information in case tab is not active

At first I used the window.blur/focus events but noticed it would also
stop refreshing if tab is active but browser window is not active. I
reckon many people might want to leave the browser open in one window
and follow the live visitors while working on something else. That's
why we should use the page visibility API which is supported by most
browsers (I think not in <= IE9). I used a different library first
but noticed it adds many event listeners like mousemove etc and it can
make Piwik slow so used the visibility.js library in the end. If someone
uses an old browser nothing will change compared to before so that
should be ok. In a next version we could initiate a refresh immediately
once the browser tab becomes active again.
IPv6 support (check for PECL GeoIP module)
added possible future _v6 functions in GeoIP PECL
Updated AutoSuggestApi testresults
added TranslationHelper service to goals
refs #6728 automatically cache settings in tracker cache if used in tracker mode.

As soon as a setting is used in tracker mode we will cache it now making it much
easier for developers to use settings in tracker mode and we will no longer
query the database on each tracking request if a setting is requested apart from
cache creation. Refactored the settings API under the hood to make this possible.
The classes were doing things they were not supposed to do. For instance settings
class also took care of storage which it should not and settings class took
care of many validation things that should be done in a setting class. I cleaned
up that code and it is also much better testable now.
Simplified Piwik\Console's API
Fixes  #6713 Ecommerce log will now show the full Log for each visit who converted some ecommerce conversions or abandoned carts. Removed 'filterEcommerce' hack from codebase.
Updating UI tests submodule (for processed_metrics_metadata merge).
Update UI tests submodule (for processed_metrics_metadata).
Merge pull request #6725 from d-skora/goals-added-translation-helper-service

added TranslationHelper service to goals
added getTranslations for patterns, added getTranslationForCompleteDescription
removed unused translation
Merge pull request #6625 from piwik/6545

Do not request live information in case tab is not active
Merge pull request #6733 from piwik/6728

automatically cache settings in tracker cache if used in tracker mode
Fixed xhprof profiler config
Merge pull request #6736 from d-skora/goals-added-pattern-type-translation-to-translation-helper

added getTranslations for patterns, added getTranslationForCompleteDescr...
fixes #6740 display the name of the field that causes a plugin setting save error
Merge pull request #6690 from joostdekeijzer/3581_IPv6_2

Another try to implement IPv6 support
Minor coding style