UAR-676 Initial commit of ProtocolVersionServiceImpleBase.java
UAR-676 Fixing method to copy custom attribute data from original protocol document to the new version.
Adding foundation class.
re-factoreding code to include logic from 3.1.1 in a sane manner. These
changes include:

ProtocolCustomDataService:
Creating for service injection.

ProtocolCustomDataServiceImpl:
Service encapsulating CustomData copy logic.

ProtocolVersionServiceImplBase:
Changing to use ProtocolCustomDataService for data copying.

ProtocolCopyServiceImplBase:
Changing to use ProtocolCustomDataService for data copying.

CustomCoreSpringBeans.xml:
Adding bean entry for ProtocolCustomDataService.

kc-config-defaults.xml:
Adding entry to include CustomCoreSpringBeans.xml.
Merging fixes for UAR-676 as UAR-785 is dependent upon them