Rewrite eselect provider
Allows easy extensions to add custom modules
Slightly refactor eselect facter
Add a pointer to pms
Update eselect docs