Throw exception when content _id is an object

    An exception is thrown if the provided id does not match the
    content id, but only if the content id is a string field.  If
    the content id is a complex object, no exception is thrown but
    the document is indexed anyway, leading to problems with search
    later.

    This fix adds an additional check for _id fields that are objects
    and throws an exception if one is encountered

    Fixes #3517