If there's an application class with 'Test' prefixed, use that by default.
Call application.onCreate and onTerminate.
Move TestLifecycle out of the internal package.
Call application.beforeTest()/prepareTest()/afterTest() if you application implements TestLifecycleApplication.
Merge branch 'xian/create-application-convention-over-configuration'

* xian/create-application-convention-over-configuration:
  Call application.beforeTest()/prepareTest()/afterTest() if you application implements TestLifecycleApplication.
  Move TestLifecycle out of the internal package.
  Call application.onCreate and onTerminate.
  If there's an application class with 'Test' prefixed, use that by default.