changing run structure to auto-terminate phantomjs instances, fixes #26, fixes #22

had to handle some weird timing issues around ports already in use, but passes tests with a new way to handle creating/terminating instances. should clean up after itself now.