Implement deep copy operation for struct WellControls

This change-set introduces a new function, `well_controls_clone()`, that creates a deep copy ("clone") of a `struct WellControls` object.  Moreover, we re-implement function `clone_wells()` in terms of `well_controls_clone()` to avoid leaky abstractions.

In the process, we relax the requirements for equality between instances of `struct WellControls`.  Specifically, we drop the requirement that two such instances need to have the same internal array capacities to compare equal.  No client can inspect or change that value so while the criterion was initially useful in the conversion to opm-parser support, it is no longer needed.

This is precursor work to supporting wells controlled by (total) reservoir voidage volume rates ("RESV").