Add more wrapper states, allow wrapper to be reused
This branch exposes more information about the wrapper's state, changes the semantics of some methods (in particular stop() now blocks until the Tor process has exited), and allows wrapper instances to be reused.
Closes #3 (closed), #4 (closed), #10 (closed).