refactor(blockservice) export blockservice.ErrNotFound
refactor(merkledag) use one-off error
refactor(namesys) use one-off error
fix(namesys, merkledag) use static error
fix(namesys) use the error that already exists
fix(merkledag) return static error
Merge pull request #224 from jbenet/issue-209-plus

refactor(blockservice, merkledag, namesys) deprecate u.ErrNotFound
hotfix(core) assign node.Resolver = path.Resolver

discovered by @mappum and applied at https://github.com/jbenet/go-ipfs/commit/414e20b71e50b65e40883f3ac85f91aa81c1e486

fixing here to address #233

https://github.com/jbenet/go-ipfs/issues/233
style(cmd/ipfs/pprof) move defer close to initialization
feat(cmd/ipfs1) add mem profiling in debug mode

TODO add memory profiling to ipfs2
Merge pull request #235 from jbenet/feat/mprof-in-cli-ipfs1-debug

perf(cmd/ipfs) write mprof file in debug mode
rewrite add command to use dagwriter, moved a pinner into the dagwriter for inline pinning
Address concerns in PR
fix tests (circular import)
blockservice: dont write blocks twice

If the datastore has a value for the key, we already have
the block. We should not write it again. This will make redundant
writes much faster.

At the moment, a datastore.Has on leveldb is a GetBackedHas.
Track https://github.com/jbenet/go-datastore/issues/6
blockservice: signal add optimization
test splitting is deterministic. (it is)
util: remove broken rand
util: cleaner ByteChanReader.Read
better test exercises saved buf