6.2.0 package installer service

This pull request is not ready to be merged. It has created to allow for code review as agreed with Morten / @sitereactor. 

Here is a short description of what my plans are:
A new "PackageInstallerService " has been created. It is meant to exist alongside the other services in umbracos “Umbraco.Core.Services.ServiceContext.Service"
To allow the existing Packaging Service to be injected into the PackageInstallerService, I have created a IPackagingService interface.
I also created a IUnpackHelper interface which takes care of the unpacking of the package (zip file), and finally a IPackageValidationHelper interface used to help validating the package against the existing installation.
The PackageInstallerService exhibits three methods:
PackageInstallationSummary InstallPackageFile ( packageFilePath string , int userId ) ;
PackageMetaData GetMetaData (string packageFilePath ) ;
PackageImportIssues FindPackageImportIssues (string packageFilePath ) ;
InstallPackageFile method is the one we intend to be use. The other two methods is created so that you are able to do what you are currently doing. 
I needed to make some services to support Macros. However, I am unsure if I am going in the right direction with this part.