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.
somewhat addressed. only part missing is 

```sh
# explicit subcommands for each one, with explicit arg (not flag)
ipfs mount ipfs [<path>]
ipfs mount ipns [<path>]
```