Added support for LOCATE operation

The original intent here was to receive the Name data members as strings in a dictionary, keyed by 'name_value' and 'name_type'. It looks like this changes it to take a Name object, extracting the attributes explicitly. Why the change?