Report unique peak ID in *_peaks.tab

Create a hash of the chrom, peak_start, peak_end and assign an ID to
the unique combination. The hash gets dropped in the chipenrich
function.

Also added a cap of 1 on the ratio of peak overlap.
Enable randomizations

There are two types of randomizations: rndall and rndlength.

rndall takes the peaks per gene table (after possible column additions
from different methods) and permutes the rows over all the genes.

rndlength does the same, but orders the gene loci by length, bins into
groups of 100, and permutes the peaks per gene table within those 100
bins to preserve the locus lengths of the genesets.

Randomizations are accessed by appending either “_rndall” or
“_rndlength” to any gene set in the genesets parameter of chipenrich(…).

Supporting functions randomize_ppg_all(…) and randomize_ppg_length(…)
are added, and the appropriate parsing of “_rndall” and “_rndlength”
are added within chipenrich(…).