ipfs 0.2.1

IPFS node implementation
Documentation
[Description i.e. This PR ______, so that ____]

### Checklist (can be deleted from PR description once items are checked)

- [ ] **New** code is “linted” i.e. code formatting via rustfmt and language idioms via clippy
- [ ] There are no extraneous changes like formatting, line reordering, etc. Keep the patch sizes small!
- [ ] There are functional and/or unit tests written, and they are passing
- [ ] There is suitable documentation. In our case, this means:
    - [ ] Each command has a usage example and API specification
    - [ ] Rustdoc tests are passing on all code-level comments
    - [ ] Differences between Rust’s IPFS implementation and the Go or JS implementations are explained
- [ ] Additions to CHANGELOG.md files