Shrink empty lists
Shrink empty lists

Empty lists have a different type than non-empty lists,
so separately implement shrink for that type. Fixes #21.

clojure/test.check,clojure/test.check,clojure/test.check