improve error handling on test setup errors

- Still run other tests if one test class can't be initialized.
- Print better errors to the console when an initialization error
  occurs.