debian compatibility and variable use

This patch fixes the use of `/etc/init.d/functions` which seems to be not standard across linux distributions. Furthermore the template now uses the global variables instead of the local ones / some functions.
formatting
fallback to hostname
Add the "json" feature and confine our custom package provider to it
Fix missing require statement

Uncovered by running the tests in parallel, hooray
Add a simple method for parsing the plugins meta-data out of an update-center.json file
Optionally manage plugin configuration with puppet

The way this code is intended to be used is when managing a plugin and plugin configuration for a production Jenkins instance, using the files generated in a web UI of a staging instance.

For example, if you have a test/staging instance of Jenkins where you validate
your plugin configuration, you could take the myplugin.xml conifguration file
from that machine, add it to your Git repository and reference it here.
Fix some syntax errors included by the previous commit

Always run tests before pushing you ninny!
Merge remote-tracking branch 'upstream/pr/65' into next

Conflicts:
	templates/jenkins-slave.erb
Vanilla debian family installations do not have daemon installed and it is utilized in the init script
Merge pull request #121 from iflowfor8hours/next

Add daemon install to Debian family slave installs
Disable ssl verification and test on redhat working
Add support for debian slaves to disable ssl verification
Merge pull request #122 from iflowfor8hours/next

Add support for disabling ssl verification on slaves
Remove the dependency on psych and blimpy libraries

I'll be moving more towards vagrant and vagrant-aws in the future
Require the jpm ruby gem to be installed in order for our custom provider to work

jpm is located: <https://github.com/rtyler/jpm>

References #10, #11, #12
setting fsroot to slave_home for the swarm jar
fixing whitespace for rake lint
Refactor some of the rspec-puppet examples for jenkins::slave to be more concise

This reduces some duplication, but also makes sure we have the exact same
branch coverage with the shared_context for both sets of platforms supported by
puppet-jenkins