Bug 1119802 - RFE: Support for resource type name change

Fixed XSD documentation for 'previousNames' attribute, fixed ResourceType so
it does not hold empty array.

Several MetadataManagers had to be changed (the code merging existing
resource type with the new one), because when detecting what was
added/removed/changed in existing vs new resource type, they were using Sets
which use (i.e OperationDefinition) equal methods. 'equals()' methods of
ResourceType child objects do not work well in case we rename resource type.
(2 OperationDefinitions are equal iff having same name && belong to same
resource type) In our case resource types are different (via
ResourceType.equals() function, because they have different names)

Instead, we just check differences using (ie. OperationDefinition.name)
which is general enough for comparison, because we know we have 2 similar
resource types. CollectionUtils providing Set operations has been extended,
so one can supply additional equality function.