feat(daemon) `ipfs daemon --initialized`

With this PR, users can fetch and run ipfs in _one_ command.

```
docker run -d -p 4001:4001 -p 5001:5001 jbenet/go-ipfs daemon --initialized
```

Magic.

nb: needs https://github.com/jbenet/go-datastore/pull/9
Maybe it's a problem of semantics:

```Go
    ctx := context.TODO()
    n = &IpfsNode{
        onlineMode:    online,
        Config:        cfg,
    }
    n.ContextCloser = ctxc.NewContextCloser(ctx, n.teardown)

...

func (n *IpfsNode) teardown() {
    n.Datastore.Close()
}

func (n *IpfsNode) Close() {
    n.ContextCloser.Close()
}
```