Add arg-sample code

@mjhubisz

This PR addresses issue #9 by merging the code needed for `arg-sample` into master.

Also, this PR replaces #5.

Calling `exit()` seems unncessary now, because you actually check `stream` in the caller to handle errors, which is a better way to in general.
https://github.com/mdrasmus/argweaver/pull/11/files#diff-61d0b07b886cf93c75782e6a386c1b73R628