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.
love it, much better. 

I worry about a 5-10 ms delay on flushing, that's a lot for a fs (more conservative numbers would be ~500us and ~500ms). but we can use that now and worry about it later?