node list in routing table, tighter locking

Added "routing entry" objects for all nodes, which contain estimated
distance, preferred neighbour and routing info.

Locking more tightly. Still seeing weird crashes.
assorted fixes to new system

- difference between local and remote nodes (local initializes to est 0,
pref 0, remote initializes to est maxint, pref -1)
- dictionary bugfix (reset to default value)
- distance can stay at maxint in some cases, which is unreachable
- allowed easy swapping between preferred neighbours
change so I can sync

Just changed the version name because of a bug in the github windows
client which prevents me from syncing if I merge but don't change
anything.