Cholesky parametrization for multivariate Gaussian Process

The PR does 2 things

* Rearranges a bit the code for `multi_normal`, `multi_normal_cholesky` and `multi_gp` distributions, so that the textual comparison of these sources gives a better idea what parts are the same and what is different.
* Implements `multi_gp_cholesky` (distribution, tests, docs), i.e. the multivariate Gaussian Process with the Cholesky factor parametrization of the kernel matrix. As with `multi_normal_cholesky` it should have some performance, memory and numerical stability benefits.
I recommend removing the leading and trailing underscores from header guards here. The other files (that already exist) probably don't need it since they be removed with #780