Initial import of the geogit-geoserver plugin.

The geogit-geoserver plugin enables the configuration of geogit repositories
as GeoServer data stores, and geogit feature type trees as GeoServer layers.

It also exposes the geogit web api at <geoserver base address>/geogit (e.g.
http://localhost:8080/geoserver/geogit)

Or to a specific repository at <geoserver base address/geogit/<repository>,
where <repository> is given by the <workspace:store> name as configured
in GeoServer as a data store.
Added maven shade plugin configuration to create a shaded jar plugin

mvn install or mvn package will create target/gs-geogit-<version>-shaded-plugin.jar
which contains everything the plugin needs to work that's not already
provided by geoserver, plus some dependencies are "relocated" to avoid
clashes where geoserver has the same dependency but for a different
version.
Adapt geogit-geoserver to changes in geogit web-api as of geogit commit e1d82da5d0

In geogit changes were made to web-api in order to remove code duplication
between the geogit web-app module and this plugin. This commit removes
all the duplicated classes and leaves only the ones needed to reuse all
the web commands from geogit web-api (i.e. CatalogRepositoryProvider)
tweaks to the maven shade plugin settings
adapt to geogit test set up making <tmp dir>/repo the current working directory
avoid carrying over geotools dependencies from geogit when the version used by geogit differs from the one used by geoserver-exts
switch to use include patterns instead of excludes for the shaded jar (both can't be used)
Merge pull request #44 from groldan/geogit-geoserver-2.4

Geogit geoserver plugin for GeoServer 2.4