Promise based HTTP client inspired by clj-http