Use pickle protocol 2, instead of HIGHEST_PROTOCOL

Use pickle protocol 2 in the SimulationParameters save_to_pickled_file
method, instead of HIGHEST_PROTOCOL. This way we use the same protocol
in either python 2 or python 3.
Remove extra print statement left by mistake
Improved code quality

Break long lines, add comments and small improvements to docstrings.
Improve the greedy simulator and fix wrong filename
Implement delete_file_if_possible for the tests

Replace the use of 'os.remove' by 'delete_file_if_possible' in the test
files. The difference if that delete_file_if_possible won't raise an
IOError exception if the file can't be removed.
Fix bug: unpacked parameters order could change

Fix a bug where the order of the unpacked parameters list in a
SimulationParameters object could change after the object was saved to a
file and loaded back from the file into another object.

Now the order is guaranteed by sorting (alphabetically) the list of
unpacked parameters.
Add plots for Brute Force stream selection method

Add plots for Brute Force stream selection method in the greedy
simulator.