Add ckan::ext type, simplifying extension installation

This commit adds a Puppet defined type, ckan::ext, which can be used to
install CKAN extensions from remote VCS repositories. This should make
installation of extensions a little simpler.
Rejig ckan::ext::spatial to use ckan::ext

This simplifies the installation of the spatial extension using the
ckan::ext defined type introduced previously.
Remove datastorer extension

The datastorer has been superceded by the datapusher, which is shipped
as part of the v2.2 release of CKAN.
Add a class for the ckanext-hierarchy extension