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 and 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
I think the first check should be:

```
if (parser.currentName() != null && parser.currentName().equals(Defaults.NAME)) {
  if (parser.currentToken().isValue() == false) {
    throw new MapperParsingException("Expected a value as Content id but got " + parser.currentToken());
  }
/....
}

```
that way we also fail for arrays etc.