Reusable fact-derived variables

Oh well… I felt good about it, being backwords compatible and all. I had already implemented most of it when you sent this message.

Besides, it does fix a broken scenario: when eth0 has two IPs, the current implementation will create eth0 and eth0:0 interfaces. When it then finds a real eth0:0, it will name it eth0:1.

Anyway, it’s done and ready to try if you are interested. I’ll send a pull request anyway. The ball is in your court.