speed optimisation of dissociation constants computation using vectors and optional parameters

1) computation of dissociation constants :
- one or two pHScale conversion factor(s) passed as optional
parameter(s) to speed-up computation
* kSWS2scale      : from SWS to chosen scale at chosen pressure
* ktotal2SWS_P0   : from total to SWS at zero pressure
- vector computations instead of iteration loops
- warning messages for out-of-validity-domain : only one message per
constant (instead of one per data entry)

2) Pressure correction function Pcorrect() :
- two pHScale conversion factors passed as optional parameters to
speed-up computation
* kconv2Scale     : from chosen scale to SWS at chosen pressure
* kconv2ScaleP0   : from chosen scale to SWS at zero pressure
- vector computations instead of iteration loops

3) pH scale conversion kconv() :
- two dissociation constants passed as optional parameters to speed-up
computation
* Ks
* Kff :  Kf on free pH scale

All these optional parameters not only allow for speed optimisation,
they also allow for more correct computation since pHscale conversions
are now based on Ks and Kf values which respect user choices
(Dickson or Khoo for Ks, Perez & Fragra or Dickson & goyet for Kf).

In previous version, an attenpt has been made to remember Kf focmulation
choice
but it does not support the case of data set with different choice for
each entry.