Better eselect provider

I am not sure what to do about `self.instances`. I do not find it a good idea to put eselect values in `facter` since they could change during a puppet transaction. Maybe `self.prefetch` is a better idea?