sunng87/link — pull request #5 by llj098 (2014-02-28 07:45:55+00:00)
Title: add ReponseHandle protocol to support more flexible http handler

With `extend-protocol` the `ResponseHandle`, the user can create a async http handler with core.async, code below:

```
(ns test.core
(:refer-clojure :exclude [send])
(:use [link tcp http core]
[compojure core response])

(:require [clojure.core.async :as async
:refer [go]])
(:import [clojure.core.async.impl.channels ManyToManyChannel]))

(extend-protocol Renderable
ManyToManyChannel
(render [c _] c))

(extend-protocol ResponseHandle
ManyToManyChannel
(http-handle [c network-ch req]
(go (send network-ch
(ring-response (render (