Initial refactoring of yumrepo.

[I've made this PR early, as I'd like feedback on the direction of the provider/type, and the tests.  It seems to work for me, which is about as strongly tested as it is right now.]

This work strips out all of the provider code from the type, and
creates a new ruby provider for yumrepo.

While this code still uses inifile it's been rewritten to take advantage
of the modernization of Puppet.  It's now a little easier to understand
and test.