Fix apply ops error handling

Fix issues with error handling in oplog-replay
    
We weren't actually looking at the applyOps response to see if they were
internal failures in the operation. This change fixes that and adds the
corresponding tests.
    
This includes the fix to add alwaysUpsert instead of updating partial
data.

This doesn't seem to match the test name? The test name implies both should fail