Backendlib

This change provides backend installer and library for tizen platforms installer.
This enables user to run pkgcmd (actually pkgcmd.real by now) with option described below
to perform installation/uninstallation task.

About implementation:
 - global instalaltion of app is to be done in other issue/PR.
 - reinstall option will be fixed in separate issue/PR,
 - TODOs in wrapper script will be fixed after pkgmgr being fixed,
 - Calculating app size (part of backendlib) will be dispatched in separate issue/PR,
 - some refactoring about pkgid (it was needed),
 - xwalkctl has some new options for tizen build,
 - backend installer gets pkgid for uninstallation, not app_id (so xwalkctl handles both now),

(non global installation) -> pkgmgr-server need fix to switch user, xwalkctl needs hanlde root
(basic) -> installation/uninstalltion, amd-related options need investigation

TASK=XWALK-1731

[Status]
 --install           - works
 --uninstall         - works
 --reinstall         - fails
 --clear             - (not tested)
 --move              - (not tested)
 --getsize           - (not tested)
 --getsize-type      - (not tested)
 --list              - works
 --show              - works
 --app-path          - works
 --check             - (not tested)
 --kill              - (not tested)
 --descriptor        - (not tested)
 --quiet             - works

[Verification]
 - download apps [wgt,xpk] on device,
 - run:  cp /usr/dbspace/.appsvc.db /home/app/.applications/dbspace/
 - run:  chown app:users /home/app/.applications/dbspace/.appsvc.db
 - (use quiet option for all commands)
 - run: pkgcmd.real -i -t wgt -p ${package} -q #installation should success
 - run: pkgcmd.real -d -n ${id} -q #uninstallation should success
 - run: pkgcmd.real -l -t ${type} #rpm, xpk, wgt apps should displayed
 - run: pkgcmd.real -s -n ${id} -t ${type} #information should be displayed

Shouldn't I use implicit conversion: char* -> std::string?