Test: Introduce order independent testId to replace testNumber

Introduces testId, intended to be a unique identifier for a test
based off of module name and test name only, and is therefore
order independent, enabling asynchronous test loading.

Fixes #538