Issue #2304461 by sun: Rebase KernelTestBase onto PHPUnit.

Includes various performance optimizations, since ContainerBuilder::compile()
is very slow: A precompiled Container is shared across test methods.
Each test boots new DrupalKernel that gets the precompiled Container
injected.

Each test registers itself as a Logger, so as to catch unexpected error
log messages, in case functional code fails to use trigger_error().

Various utility methods of the former Simpletest TestBase + KernelTestBase
are made available as traits (so as to keep the original code functional).
Issue #2304461 by sun: Fixed DependencySerializationTrait breaks sans container.
[interim] PHPUnit process isolation fixes.

- Fix process isolation infinitely blocks on Windows.
  https://github.com/sebastianbergmann/phpunit/pull/1340
- Fix standard IO streams are not defined in process isolation.
  https://github.com/sebastianbergmann/phpunit/pull/1348
- Fix isolated child process leaks into parent process.
  https://github.com/sebastianbergmann/phpunit/issues/1351
[temp] Re-route former KTB to new KTB.
Issue #2306539 by sun: Fixed FieldUnitTestBase::createFieldWithInstance() pollutes test class with arbitrary properties.
Fixed bogus tests.
Fixed File API tests.
Fixed Database tests.
[FIXME] system_cron() hard-codes database queries on 'queue'.
[FIXME] ConfigImporter hides errors.
[FIXME] PhpStorageFactory does not support stream wrappers.
[FIXME] drupal_rewrite_settings() does not support stream wrappers.
Fixed bogus expectations in ModuleHandlerTest.