Fix legacy writeConcern result structure and functional tests

Batch execution should have one write concern error at most. Legacy batches should not append it to a "writeConcernErrors" array, as that would be inconsistent with the actual command results.

GLE and write command option for WC timeout is "wtimeout", not "wTimeoutMS". For what it's worth, issuing an unfulfillable write concern without a timeout will lead to a MongoCursorTimeoutException (client-side socket timeout).