Add pure_promise

[pure_promise][1] - A promises library.

100% mutation coverage, except from one line which I don't know how to test, because it is just a performance enhancement where the only visible change is clearing some memory.

[1]: https://github.com/cameron-martin/pure_promise