Parameterized runner factory

This is a follow-up to 61badf2f7f147d6e782e1700b24da4ac06ce070c (Pull Request #564), that added a new method `protected Runner createRunner(String pattern, int index, Object[] parameters)`. This pull request provides a different way for building own runners. You have to create a `ParametersRunnerFactory` that creates the runners and build your own `Parameterized` runner with this factory.

IMHO this is a better design because the responsibility for creating the runner for a single data set is separated from the `Parameterized` runner.

It would be nice to have this pull request in JUnit 4.12. Otherwise the `createRunner` will be part of `Parameterized`'s public API.
Would it be a good idea to have @Inherited on the UseParametersRunnerFactory annotation as the @RunWith annotation has @Inherited on it.