Introduced separate class for Nystrom method.

The Nystrom method is interesting in its own right, and not only within the context of the LowRankGPModelBuilder. We have disentangled the logic of the low-rank approximation from that of the Nystrom method and put the code for computing the Nystrom method into its own class.
@marcelluethi would it be correct?
```c++:
std::vector<PointType> nystromPoints( shuffledDomainPoints );
```