cleanup and fixes to list diff, add support for 'otype' parameter to determine diff method to use