PackageKit based package management

This pull request implements a packaging framework based on PackageKit.  Also, as a demo, it makes the ownCloud module use the package framework to install the owncloud package instead of shell script.
Couldn't you use the package names from `form.initial['package_names']` in https://github.com/SunilMohanAdapa/Plinth/blob/packagekit/plinth/views.py#L75 to avoid this problem?