Merge from superbobry/v0.3-dev (PR #85)
app.demux: implement "exclusive" demultiplexing

This goes towards #88 but still needs testing and documentation.
app.demux: add verbosity
app.demux: fix specification parsing
app.demux: fix filter for Undetermined libraries

This should be the last step of #88.
Merge branch 'exclusive_demux' into v0.3-dev
app.demux: add option gzip-buffer-size-factor
test: create a benchmark for the Zip module

It makes a separate executable called `zip_benchmark` in order not to
slow down too much the invocations of `make test`.
zip_benchmark: add more command-line flags
zip_benchmark: use Transform.stop for exhaustivity
Zip: add submodule `Default` (parameter values)
App_common: create generic GZip CLI flags
app.demux: use App_common's GZip flags
genomeMap: replaced Map.Poly by Map.Poly.Tree

now genomeMap data structures can be marshalled.
app.{Common,demux}: make gzip options global

While starting to port other sub-commands to the common options it
became obvious that passing all those arguments was not scalable. The
`Global_configuration` module contains *global* references but at least
provides and unified API.
app: move I/O buffer-sizes to Global_configuration
app.random: homogenize command line (App_common)
Common: fix function file_to_file (use config)
Common: improve Command_line.gzip_output_flags
app.transform: use Command_line.gzip_output_flags