Dvr

Distance vector routing
Merge this to master after the main branch ( by @prototype-v4 ) has been merged to master