Support chan as a return value of GetAll

Return the whole record set can be slow. Now GetAll may return a
channel to send back all records from a go routine.
Only support Content-Type application/json for now