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.
On Saturday 27 December 2014 02:08 PM, fonfon wrote:
[...]
> 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']|

My argument was based on a confusion with an earlier implementation
where the form was submitted to a /package/install/ URL.  I was wrong in
saying that package_names are not available after form post.

> 
> As I started with the changes I thought I'd finish them right away and
> came up with SunilMohanAdapa#4
> <https://github.com/SunilMohanAdapa/Plinth/pull/4>.

Your implementation looks good.  I have not tested it.  I will merge it
along the original pull request after that.

-- 
Sunil