Remove redundant array to query string conversion in core/API/Request.php.
Correct CutomVariablesIntegrationTest test @group.
Remove unnecessary archive table deletion in archiver tests (tables deleted by database drop in fixture setup).
Refactoring IntegrationTestCase class:

  - moved all API URL generation logic & API response handling logic to separate classes
  - created ApiTestConfig class to hold API test options (and documentation for properties)
  - remove unnecessary IntegrationTestCase properties and methods (including apiNotToCall/apiToCall)
  - remove as many unnecessary API test options as possible (including abandonedCarts, hackDeleteRangeArchivesBefore)
  - rename checkRequestResponse to assertApiResponseHasNoError
Remove dead code and use travis_retry in npm install command in tests/angularjs/scripts/install-ubuntu.sh to remove random travis failure.
refs #5887 should fix Invalid parameter number in case pattern parameter is used to filter all websites
refs #5887 make sure the user has view access to all sites... we should really introduce a model for sitesManager to not having directly to expose methods
refs #5887 use a model so we do not have to expose the method in the API. I tried to write a test for this but was not able to since lots of IntegrationTest magic
maybe this forces karma to use a specific mocha version? might fix angularjs tests
fixed broken EventDispatcher mechanism for sorting callbacks order
refs piwik/piwik-mobile-2#3243 added translation key
Merge pull request #5884 from piwik/tests_refactor

Integration Tests refactor (move API testing logic to separate classes)