Used client id to identify people in KISSmetrics

- Aliased with the user id
- Added tests
Added CM_Service_Tracking_ClientInterface::trackSplittest()

- Implemented for KISSmetrics
Tracked split tests externally
Added unit tests for external split test tracking

- Made split tests service manager aware for testability
- Fixed CMService_KissMetrics_Client::trackSplittest()
Adjusted method signature
Docu
Renamed "clientId" to "requestClientId" in the context of KISSmetrics
Send split test variation as a property to KM without recording an event

- Added method CMService_KissMetrics_Client::trackPropertyList()
- Added background job CMService_KissMetrics_TrackEventJob
Aliased identities in CMService_KissMetrics_Client

- Added method _getIdentityList()
- Aliased identities on event or property tracking
Refactoring: Used _getIdentityList() in getJs()
Refactoring: Stored identity list on CMService_KissMetrics_Client

- Instead of user id / request client id
- Added methods _addIdentity() and setIdentityList()
- Removed methods _getRequestClientId() and _getUserId()
- Adjusted jobs
Refactoring: Simplified setIdentityList()
Fixed identity order for tests
Review requests

- Renamed splittest properties
- Used "Guest XXX" for anonymous identities
- Adjusted tests
Merge pull request #1342 from fauvel/issue-1342

Track split tests in KISSmetrics