Add copyright notice
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.