Before this commit, state validation rules in RepositoryItemReader were not consistent with those applied in its builder. This commit makes validation rules consistent between the two ways of creating a RepositoryItemReader. This commit also adds a getter for the component name in ExecutionContextUserSupport to be able to assert on it where appropriate down the hierarchy. Resolves #4276