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`