Test: Implements universal module setup

Fixes #633
Closes #635
Test: Rename module's setup/teardown to beforeEach/afterEach

QUnit.module setup and teardown functions are now deprecated as
they were moved to beforeEach/afterEach.

Tests were added to confirm they still work while deprecated.

beforeEach and afterEach are no longer exposed to the test context
as setup/teardown were accidentaly.

Ref #635
Tests: Improve modules tests

QUnit.module tests were moved - with some improvements - to a new
test file modules.js

Some other tests were also removed because they were revealed as
unnecessary tests.

Ref #635
Test: Uses the non-recursive reference to the current test
Events: QUnit logging system uses EventEmitter

Fixes #422