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.
~~I think Mount should be outside of the ipns package. ipns should really be just for Resolving and Publishing names. wrapping that interface to provide mounting should be done outside of that. maybe inside fuse...~~ nevermind, that's exactly what you did. :+1: :heavy_multiplication_x: :100: