update implementation to allow for a single argument

add conditional to account for relationship between argument and element list

add condition for calling sample on an empty array

incorporate tyler's implementation suggestions and throw errors on bad inputs

fix implemntation to not use coercion
Merge pull request #3 from awtk/ashley-implementation

first pass at implementing sample(n)