KL divergence measures how much one probability distribution differs from another — how many extra nats you'd waste encoding data from p using a code built for q instead.
Task: write kl_divergence(p, q) using the natural log, rounded to 4 decimal places.
p and q are valid probability distributions — positive values summing to 1.kl_divergence(p, p) is always 0: a distribution needs no extra bits to describe itself.