Rework handler tests to use new source states

Rework the handler test suite to make use of the state values now
associated with each data source.
Thread state through core retcon processing code

The core retcon processing code now threads initialised state through
the whole process. A new entry point has been implemented, allowing
client code to make calls with or without an initialised state.
Update handler tests in line with new state handling