Conditionally add custom scopes when using XML configuration

When using a combination of Java configuration and the XML namespace
configuration, prior to this commit, we would add the batch custom
scopes twice which lead to issues.  This commit gives priority to the
custom scopes provided by the java configuration.  If you've used
@EnableBatchProcessing and have configured batch components using the
batch namespace, the custom scopes that come with the java config will
take precidence.

This commit addresses Jira BATCH-2266
Update DefaultBatchConfigurer to conform to @PostConstruct contracts

Prior to this commit the initialize method (which is annotated with
@PostConstruct) was throwing a checked exception wich goes against the
@PostConstruct contract.  We now wrap any checked exceptions in a
BatchConfigurationException and throw that.

This commit fixes (again) BATCH-2276