Ipns name resolution

This branch is not yet complete, but before i move forward, the name resolution code (in namesys) needs some critiquing. There are also a decent number of bugfixes in this branch that i ran into while trying to get the code to a point where i could test ipns.
@tv42 What is the open method expected to do? I see it being called very frequently,  but im not doing anything with it besides just returning the node as a handler. (which appears to make things work)