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
Thank @bjlittle. I'm still concerned by passing in a set of blev values, one of which is -1, leading to them all being ignored. I'm not mad on warnings, and I don't want an error, but to ignore all the metadata and simply create no vertical coord with no indication seems like it might cause issues.