Improve handling of parameters

(1) new functions ``getparam`` and ``setparam!``, which relies on an internal list to retrieve the value type of parameters.
(2) new function ``setparams!`` allows setting parameters using keyword arguments.
(3) several according changes using this new interface.
(4) lower level functions like set_dbl_param remains there but no longer exposed.