Select data handlers with probability

This makes active data handlers be added to connections with attack probability.

An active data handler is one that modifies the connection, since this could potentially be destructive we want to avoid doing it to every connection. Passive handlers are run on every connection because they are simply doing passive detection.

Currently with probability of p we use all the selected active handlers, and 1-p we use none of them.

In the future we should improve this, but it is a bit tricky and warrants discussion.