Choices data can now be input as dictionary or list

Inputting the choices parameter to extract() as a dictionary will return return the dictionary key of the item as the last item in the tuple. This allows mass comparisons between dictionaries which may contain similar or duplicate text strings for which a unique key is required