Global upsert option not functioning properly

The problem is that the line

`if (definition && options.upsert && attrs[definition.idAttribute]) {`

runs before

`options = DSUtils._(definition, options);`

so the options don't get merged with the global options. This is a suggested fix.
This argument check should be moved up to be just below the check for the existence of the resource.