Add STL-compatible pareto distribution.

Unfortunately the STL does not come with an implementation of the Pareto
distribution, so we implemented our own. The new class
util::pareto_distribution behaves like any other C++11 distribution class and
can be used as a drop-in replacement when needed. For example, to sample from
the Pareto distribution with shape parameter 1 and scale parameter 4, we can
write:

    #include <iostream>
    #include "vast/util/random.h"

    int main()
    {
      std::random_device rd;
      std::mt19937 gen{rd()};
      vast::util::pareto_distribution<> pareto{1, 4};

      for (int i = 0; i < 10000; ++i)
        std::cout << pareto(gen) << std::endl;

      return 0;
    }

Further, we added the free functions pdf(), cdf(), and quantile(), which given
a distribution function and a value should return the expected result. These
are free functions because we envision users will provide overloads for the
existing C++11 distributions.

We implemented the sampling using inverse transform sampling. Because there
exists a closed form quantile function (i.e, the inverse CDF) for the Pareto,
we draw a uniform value from [0,1] and feed it to the quantile function.

We tested the implementation by drawing 10,000 samples with our implementation
and R's implementation (from the VGAM package). Indeed, looking at the
log-transformed sample quantiles data and comparing it to R-generated ones in a
Q-Q plot, we can fit a straight line.