app_mrsort_profiles: fix infinite timeout issue

When the pipe is closed in the subprocess (i.e. when fitness is equal to
1), then the other end (the thread) should receive the end of file.
It is not the case with last python version? Strange... Anyway fix
this..
types: CriterionFunction: also print the name of the criterion
generate: add generate_random_plinear_preference_function() function
types: Segment: if slope is 0, return directly the value of pl.x

When for instance k = 0, pl.x = float('-inf') and ph.x = float(1),
the value returned by the y() method is NaN = Not a Number.
This patch fixes this.
generate: generate_categories_profiles: invert profiles names

So that b1 delimits cat1 and cat2, b2 delimits cat2 and cat3, etc.
misc: get rid of useless htable implementation
misc: get rid of federov.py

It doesn't work anymore and I don't use it...
misc: get rid of this directory
pymcda: add flowsort model (only limiting profiles)
ws: ElectreTriBMInference, MRSortMeta: fix CDATA issue

CDATA part of the xml file was not correctly translated.
It is now fixed.
ws: Update test input/outputs
MRSortMIP: rename MRSortMeta into MRSortMIP
ws: fix some english error and some confusing input/output filenames
ws: MRSortMeta: remove useless xml input files
tests: test_ws: fix test

The output file reference_alts.xml has been renamed in
profiles_perfs.xml
ws: rename webservice in LearnMRSortMIP and LearnMRSortMeta
apps: add small test_veto app
generate: add two function to generate MRSort models with veto
generate: fix function generate_random_veto_thresholds()
ws: Change input/output names "lambda" in "majorityThreshold"