Base of IPNS

Adds the ability to express paths as either a base58 hash, a proquint id, or as a domain name (through a DNS TXT record).
i think returning is fine

```Go
return mh.FromB58String(name)
```