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.

I had originally tried to make it part of the class to avoid computing postnodes over and over again.. but you didn't like the bookkeeping involved with that, and it didn't make much of a difference in runtime, so I went back to computing postnodes whenever necessary. The getPostNodes() function was leftover from that, but serves no purpose anymore, so I switched back to your original getTreePostOrder().