custom ip address fact

Provide possibility to modify `ipaddress` fact which is used for ssh key. e.g. if you have interface

```
docker0   Link encap:Ethernet  HWaddr 42:e8:27:2b:28:8f  
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
```
facter will assume that the public IP address is `172.17.42.1` which is a private IP and doesn't have to be unique in your network. So with this patch you can force using e.g. `ipaddress_eth0` fact. 

Is this OK? 

I wanted to write tests for this, but there are several out of scope variables being used which makes testing complicated. I will write a bigger pull request for changing structure of classes and then we can test it.