Fix bug in coverage calculation for multiple lanes / library.

This fixes a bug introduced when adding support for intervals, which
led to all but one RG per library not being counted in the totals.
Add parameter for output cov. file.
Add BWA factory class to simplify creation.
Major work on restructuring of bam_pipeline.

Initial work on restructoring the bam_pipeline, to make it easier
to change / add new features in the future.
Make 'unicat' seperate command.
Ensure updated MD-tags after IndelRealignment.
Use reference sequence when validating BAMs.
Saving required patch for AdapterRemoval.
Allow version to be queried in Requirements.
Add check for equality.
Make AdapterRemoval v1.3-GG1 the required version.
Reduce overhead for nodes taking 1..N BAMs.

Firstly by always using uncompressed output, and secondly by skipping
the merge call in the case where there is only a single input file.
Merge branch 'master' of github.com:MikkelSchubert/pypeline

Conflicts:
	pypeline/nodes/bwa.py
	pypeline/tools/bam_pipeline/pipeline.py