match improvements

added a fetch function which essentially defaults to a CleanObj if a combination of its parameters are found.

for example.
if a RawLocation is thrown in with longitude/latitude fields that already exist, it will not generate a new Location but use the existing one.