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.