Silence warnings when programs are not installed

These changes add begin/rescue/end to the setcode blocks such that facter does not warn:

```
Could not retrieve pip_version: undefined method `[]' for nil:NilClass
Could not retrieve pip_version: can't convert Symbol into String
```