This commit also changes the way job parameters are parsed and persisted. NB: This commit should ideally have been split into two change sets. But the changes are tightly related that is was not possible to separate them. Related to: * https://github.com/spring-projects/spring-batch/issues/3960 * https://github.com/spring-projects/spring-batch/issues/2122 * https://github.com/spring-projects/spring-batch/issues/1035 * https://github.com/spring-projects/spring-batch/issues/1983