test cleanup and integration testing

 - all tests can now be run via `ruby xxx_test.rb`
 - all _test.rb files are run
 - integration tests