recovery: added proper address abstraction.

This adds ability to use hostnames instead of IP addresses. As side
effect it adds IPv6 support and increases robustness of recovery range
computations.
This commit also fixes merge step of route table extraction.