[PLAT-3181] Add security model, visitors and supporting classes for CreditIndexSecurity
Merge branch 'develop' into topic/plat-3171
[PLAT-3181] Make bondIdBundle not null
Merge branch 'develop' into topic/plat-3171

Conflicts:
	projects/OG-Financial/src/main/java/com/opengamma/financial/security/cds/CreditDefaultSwapIndexComponent.java
Merge branch 'develop' into topic/plat-3171
Refactor: change bondId type from ExternalBundle to ExternalId
Add public constructor
Add public constructor
[PLAT-3181] Add redCode schemes to support CreditDefaultSwapIndex security
[PLAT-3181] Add name property, equals, hashcode and compareTo implementation for cdsIndex component
[PLAT-3181] implement a container class for CDSIndex tenors
[PLAT-3181] Implement a container class for CDSIndex components
[PLAT-3181] Refactor CDSIndexSecurity to use the container class for terms and components instead of using List
[PLAT-3217] Custom fudge message builder for CDSIndex security
[PLAT-3217] Unit test for cycling CDSIndex security to/from fudge
[PLAT-3218] Schema create and migrate to support CreditDefaultSwapIndex security
[PLAT-3182] Persistence bean and hibernate mapping files for a Tenor
[PLAT-3182] Persistence bean and hibernate mapping files for a CDSIndex family values
[PLAT-3182] Persistence bean for CDSIndexComponent
[PLAT-3182] Persistence bean and hibernate mapping file for CreditDefaultSwapIndexSecurity