add in a default file hash and cleaned up init function a bit

>  would feel better if it was

agreed.

> `node, cancel, err := core.Node(...)`

:-1: leaking underlying libs and abstractions is not clean. This is what the `Closer` interface is for.

```Go
node, err :=  ipfs.NewNode(...)
defer node.Close()
...
```

Internally, that Close method can do whatever, but our interfaces do not leak out the entrails of our implementations.