moving methods around, making some private, getting ready for facter()
adding caching capabilities to facter()
implemented meets_constraint?, the final piece to issue #15