WIP: added puppet provider

...to replace service {provider => base} with
service {provider => supervisor} at some point

Proudly stolen from https://gist.github.com/monkeymantra/4273546 and
edited to taste.

Tests.
fix for ruby 1.9
WIP: implement some more
WIP, try to use it
Proper return values of status
implemented restart and stop, improved start and status of the provider

TODO: better tests for status to highlight the broken shell implementation
Looks good. We will try it out. Added more test cases.
Add more tests, refactor the code
Differentiate between supervisor program name and process name

As stated in supervisord docs, program name and process name are
different when `numprocs` is set:
http://supervisord.org/configuration.html#program-x-section-values
added tests for stop with multiple processes

 * reformatted mocked output
 * refactored code
 * fixed a bug in start
remove untested `enable` and `disable` methods

removed unused dependency on supervisord
Remove duplicated test
Merge branch 'puppet_provider' of git://github.com/Jimdo/puppet-module-supervisor into Jimdo-puppet_provider

Conflicts:
	.gitignore
Restore title of supervisor process service

Refactores supervisorctl arguments: it will always use some-prog:* even
if `numprocs` is 1. This works. See
https://github.com/Supervisor/supervisor/blob/master/supervisor/options.py#L1990
Fix the mocked supervisorctl output

We noticed that the mocked output does not match the real supervisorctl
output. This could use some kind of integration testing, maybe with
serverspec.
Refactor tests, use mocha mocking instead of homegrown.

Also test how supervisorctl is called
Refactor service.pp a bit
Trivial ordering refactoring
Revert dependencies in service.pp when ensuring it is absent

First stop the service, delete the .ini, reload the config, delete the log dir
Add a semblance of a test for service ensure => absent