Refactoring of agent service

I added all the test stuff to be able to verify my fix that you implemented in bcf164eeb069296ad2c5072ee27776c8417f4d47 on Debian, but you beat me to it :)

This refactors things a bit so that the service is only declared once but with the parameters set conditionally based on which puppet_run_style you choose. There were some differences in how the service was declared, I picked a version that made most sense to me.