Convert vector vertical coords

This PR implements the `pp_rules._convert_vertical_coords` function which caters for array data as well as scalar values.

Assumes that the following arguments will remain as scalar:
* lbcode
* lbvc
* stash

Assumes that the following arguments may be either scalar or array:
* blev
* lblev
* bhlev
* bhrlev
* brsvd1
* brsvd2
* brlev

BDAC dataset contains the following vertical coordinates, of which **level_height** and **sigma** are bounded:
* **pressure** -- using *blev* for points
* **model_level_number** -- using *lblev* for points
* **level_height** -- using *blev* for points, and *brlev* and *brsvd1* for bounds
* **sigma** -- using *bhlev* for points, and *bhrlev* and *brsvd2* for bounds

Replacement for #1392
I'm not sure you should assume the vector is monotonic. Perhaps you can, it'll depend on the earlier logic that constructs the arrays. @pp-mo's approach was to use a helper `_dim_or_aux()` which is not pretty, but it is effective, avoiding errors on load.