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.
You are right about initial.

The `package_names` are still available in https://github.com/SunilMohanAdapa/Plinth/blob/packagekit/plinth/views.py#L75 via `self.kwargs`, because we always provide them via the decorator at https://github.com/SunilMohanAdapa/Plinth/blob/packagekit/plinth/package.py#L140.

Replacing line 75 with this line worked for me:
`package_names = self.kwargs['package_names']`

As I started with the changes I thought I'd finish them right away and came up with https://github.com/SunilMohanAdapa/Plinth/pull/4.