Add inifile type/provider for inputs, outputs

This lets us define individual inputs and outputs natively, and purge.
Convert forwarder to use custom types

Instead of managing the file via template
Finalize virtual resources forwarder/server

First pass at complete skeleton of virtual resource interaction for
fowarder/server shared resources
Add specific types for forwarder vs. splunk

Because the config files are in different locations and we want to
enable purging.
Save progress before switching gears

Turns out that splunk and splunkforwarder don't necessarily play nicely
together. Therefore refactor module to account for that, make
splunkforwarder a subclass of splunk, and have splunk be what
splunk::server is right now.
Now splunk is server splunk::forwarder is suf

They also play nicely together and the SplunkUniversalForwarder can
actually send logs to Splunk.
Add ability for granular service definition

On Linux at least there are multiple services that make up Splunk. By
declaring services as an array, we enable ourselves to break out
platform differences in a data-driven way.
Add skeleton parameters for Windows forwarder

These changes have not yet been tested but it's the first stage draft