Core: Improve logging callbacks

- Remove deprecated support for overwriting logging callbacks
- Remove scope param from runLoggingCallbacks
Reporter: Move HTML reporter to a new JS file

Core: Removal of QUnit.init

Core: Load initalization cleanup

Core: Simplify QUnit.load initialization

It extends QUnit.extend to accept a `undefOnly` parameter,
so we can check if it's needed to extend only unset/undefined properties

Reporter: Move done() logging to the html reporter

Reporter: Move html reporter out from QUnit.load

It's now properly called through QUnit callback

Core: Move DOM checking to the html reporter

Reporter: Moving html reports for test init and finish logs

Reporter: Stop passing test as reference in log callbacks

Core: Deprecate core nameHtml

It should be further implemented on the HTML reporter

Reporter: Get nameHtml from testDone details

Reporter: Set the Running Test status on HTML reporter

Core: Remove unused nameHtml property from Test

Reporter: Implements assert logging in HTML

Reporter: Revert condition for whitespace clean up

Reporter: Moved escapeText to the HTML reporter

Reporter: Close HTML reporter scope

Core: Remove deprecated QUnit.reset

Reporter: Code Style catches
Core: Remove externalization to QUnit of reporter methods
Core: Register logging callbacks on config.callbacks
Tests: Remove bogus tests

They were trying to test assertions being assigned to it's
own current tests instead of leaking to other tests.

Although they proved their bad implementation on #583 and
they should be implemented on logging tests.

Also they're testing the HTML Reporter only.
Build: Detach jsDiff and HTML Reporter from QUnit

They're still built together anyway, but this allows us to make a special
build for QUnit to report on console only