Test: Module's setup/teardown => 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.
Tests: Remove unnecessary tests
Tests: Improves async tests to use context variable
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.