We seem to need to enumerate the list of valid properties a number of times, perhaps this can be done once with something like:

```ruby
PROPERTIES = Puppet::Type.type(:yumrepo).validproperties
```

Then in other locations we assume that information is provided and won't have to worry about where those properties come from.