Updated plugin initialization methods
The plugin initialization methods now take a File as input. This means
that some preparatory computation can be performed at initialization
time, which means that for instance shared tasks between similar metrics
can be performed by a singleton class instance ahead of the request for
the metrics themselves.