Add "abstract" class for routing provider
Make odict module import more robust
Cleanup online point to point routing

Online point to point routing now uses the new Provider based
asynchronous job infrastructure. Lot of quite old code has been cleaned
up and the result should be much more readable and easy to extend.