Eagerly throw a helpful exception when elements is called on an empty collection

Prior to this change element will happily take an empty collection and
call gen/choose with 0 and -1, which apparently generates lots of 0s
and 1s, and then eventually throw an IndexOutOfBoundsException when it
eventually calls nth on the empty collection.
Merge pull request #35 from fredericksgary/elements-empty-error

Eagerly throw a helpful exception when elements is called on an empty collection