Bug 982663: collect and report app usage data

record app installation and uninstallation

send a unique device id with each report

report deviceinfo, language and screen data, and make telemetry parameters configurable through settings

start on unit tests for the UsageData data structure

Refactor to match system app module structure