Added support for .broadPeak files from ENCODE.

The ENCODE Consortium provides .broadPeak files for sequencing
experiments having a peak calling step in the analysis pipeline.

.broadPeak is a BED 6+3 format
(http://genome.ucsc.edu/FAQ/FAQformat.html#format13) of which only the
first three columns are taken by ChIP-Enrich.
Merge overlapping peaks

Peaks contained in many .broadPeak files provided by the ENCODE
Consortium are not necessarily disjoint. By applying IRanges::reduce to
the peak IRanges objects, overlapping peaks are merged.
Report average gene locus length in chipenrich method

When method == 'chipenrich' the average gene locus length is reported
in the *_results.tab file.
Added new enrichment method: ChIP-Enrich Ratio

ChIP-Enrich Ratio is an additional enrichment method whose model can be
summed up as: goterm ~ ratio + spline, where ratio refers to the
percentage of a gene locus which is covered by a ChIP-seq peak.

Two new functions are required for this method:
1. assign_peak_segments(peak, locusdef) determines the overlap between
the peaks and gene loci in base pairs. Note, a peak overlapping more
than one locus has it's base pairs proportionally assigned.
2. test_gam_ratio(geneset,gpw) builds the model and performs the
enrichment.

Two functions are modified:
1. num_peaks_per_gene(assigned_peaks,locusdef,…,ratio) will function as
before when ratio==F. When ratio==T an additional column is added to
the peaks per gene table indicating the ratio of the gene locus covered
by a peak.
2. chipenrich(…) is modified to use assign_peak_segments(…) and
num_peaks_per_gene(…,ratio=T) when method=='ce.ratio'.