Modified sync classes to return a SyncResult from run() which contains the list of created/updated/retired objects
Updated AbstractMetadataBundle install/unistall to use generics