Campaign id in test URL

Given the need to have a campaign id in the test URL (to support multiple campaigns) this commit refactors the way test types are written delegating more actions to the BaseTestType.

By using a template and allowing to inject element in the page it'll be possible in the future to inject additional behavior, like script loaders.

Each test type should implement an attester.currentTask.start() method, that is called by attester when the task is ready to be executed.
Test-type are also responsible for loading script, the simplest way is to call attester.currentTask.includeTest, this would delegate loading to whatever script loader is configured.
Plugins can inject code to be executed before the start simply pushing callbacks into attester.currentTask.actions