New SkipThisOne exception to skip _run_simulation

Add the new SkipThisOne exception. If this exception is raised in the
_run_simulation implementation in a subclass of SimulationRunner then
that repetition will be skipped and the new 'num_skipped_reps' result
will be increased to log that event.

The merge_all_results method of the SimulationResults class will allow
merging two SimulationResults objects even if one of then does not have
the 'num_skipped_reps' result.
MMSEIASolver: Raise exception if mu_i is not found

Raise a RuntimeError in the MMSEIASolver class if a good Lagrange
multiplier is not found.

Conflicts:
	pyphysim/ia/algorithms.py
Improve the simulator for the greedy algorithm
Small changes to make it compatible with python 3

Small changes to make it compatible with python 3 at the same time it is
compatible with python 2.
Improve the print_statistics_table function
Raise SkipThisOne exception on IA algorithm error

If the MMSE IA algorithm raises a RuntimeError or a LinAlgError
exception and thus don't find a solution, then the SimulationRunner will
raise a SkipThisOne exception to skip the current repetition. Hopefully
in the next one (with new channel and precoder initialization) the IA
algorithm will find a solution.

This change makes the simulator robust ill conditioned conditions,
which will simply be skipped.
Fix wrong base_name in main_plot function