2.0.0

@boennemann and I tried to clean up the commit history but it was just a huge mess. So this is master with the `promise_restored` branch merged, and fixed so that it passes the CI tests. Not sure if we merge this into master now or if we `git push -f` into master?

Before merging, all these changes need to be incorporated:
https://github.com/hoodiehq/hoodie.js/compare/59ec8d8...master

Before actually releasing hoodie.js@2.0.0, we should go trough these:

- [ ] https://github.com/hoodiehq/hoodie.js/issues/352
- [ ] https://github.com/hoodiehq/hoodie.js/issues/363
- [ ] https://github.com/hoodiehq/hoodie.js/issues/372
- [ ] https://github.com/hoodiehq/hoodie.js/issues/376
- [ ] https://github.com/hoodiehq/hoodie.js/issues/377
- [ ] https://github.com/hoodiehq/hoodie.js/issues/378
- [ ] https://github.com/hoodiehq/hoodie.js/issues/379
- [ ] https://github.com/hoodiehq/hoodie.js/issues/380
- [ ] https://github.com/hoodiehq/hoodie.js/issues/381

easy fixes, would be good

- [ ] https://github.com/hoodiehq/hoodie.js/issues/184
- [ ] https://github.com/hoodiehq/hoodie.js/issues/241
- [ ] https://github.com/hoodiehq/hoodie.js/issues/283
- [ ] https://github.com/hoodiehq/hoodie.js/issues/361
- [ ] https://github.com/hoodiehq/hoodie.js/issues/362
- [ ] https://github.com/hoodiehq/hoodie.js/issues/364
- [ ] https://github.com/hoodiehq/hoodie.js/issues/365
- [ ] https://github.com/hoodiehq/hoodie.js/issues/366
- [ ] https://github.com/hoodiehq/hoodie.js/issues/367
- [ ] https://github.com/hoodiehq/hoodie.js/issues/369

nice to have

- [ ] https://github.com/hoodiehq/hoodie.js/issues/211

I think we know can also get rid of the `promise_restored` branch