lib/facter: add edeploy facts

First implementation of eDeploy facts.
They catch:
- release codename
- eDeploy role name
- eDeploy hardware profile name
lib/facter: Encapsulate Facter setcode

Avoid potential problems, and add setcode only if edploy command is
present and executable.
Merge pull request #549 from enovance/edeploy_fact

lib/facter: add edeploy facts