Fix MaxUnpool behaviour when output_shape is provided and doesn't match the inferred shape (#2193)
* MaxUnpool should reconstitute what was pooled by MaxPool. The kernel_shape, pads and strides inputs are purely to infer an output shape, if output_shape is not explicitly provided.
The unpool should not be adding new padding, so output_shape is not about auto generating pad values and inserting pads.
The current ORT implementation misinterprets the usage of output_shape and inserts pads instead of just allocating an output of the specified shape, and directly unpooling into it.
Update to simply find the correct output shape to use, and simply unpool into that.
Update unit tests to reflect this.
* Exclude maxunpool_export_with_output_shape which has invalid data in the output.
* Fix test name in backend test series exclusion