Manage plugin configuration with puppet

I would like to be able to completely manage Jenkins from Puppet, including its configuration.This would improve tracking of changes to the configuration and ensure that we can restore a Jenkins instance with minimum reliance on backups.

To enable this, plugin configuration needs to be managed by Puppet.

Each plugin will need different configuration parameters, and different configuration templates. It is not reasonable to expect the puppet-jenkins module to support all plugins. The most common plugins should be supported, but it should be possible to add support for other plugins without modifying puppet-jenkins (Open / Close principle).

This commit implements configuration management for the git plugin. It extends the current plugin.pp with the ability to manage configuration in a very generic way and adds a jenkins::plugin::git class that implement git specific behaviour.

This pull request is not meant to be merged as-is, but to start a discussion on wheter it is a good idea to support plugin configuration, or at least to support the generic mechanism of plugin configuration.