Add instance Alternative Routing
Keep routing table in MVar.

Since table updates is not atomic operations and may perform IO we should
be able to gain /exclusive/ access to the table. Consider insertNode
function:

1) Thread A read table_1;
2) Thread B read table_1;
3) Thread B ping node Z and it does not respond and get removed;
4) Thread B remove node Z from table_1 and get table_2;
5) Thread B put table_2;
6) Thread A insert a new node and get table_3;
4) Thread A put table_3;

The problem is that final table_3 do have the removed node. At the
moment, exclusive access solves this problem.
Fix instance Alternative Routing
Add hashable instances for all address types
Enable all query handlers by default