ItemStreamSupport component name collision detection

Alternative approach for https://github.com/spring-projects/spring-batch/pull/292.

Instead of trying to prevent ExecutionContext key collisions using
BeanNameAware, this PR throws an exception on update() when a duplicate
component name is detected.