First version of foreman_ipa module

I agree with @domcleal although I haven't looked at the specifics of all of this code... Some parts are already covered in puppet-ipa, for example client enrollment: https://github.com/purpleidea/puppet-ipa/blob/master/manifests/client.pp#L144
other parts have not yet been written.

So I'd say: use puppet-ipa if you want, although expect upstream development to not be 100% stable with respect to foreman, since the goal is proper ipa deployments first. I expect the interfaces you need will be consistent. One note, it doesn't do *all* of what you currently do in this code. More to come...