Improve unique values for lines

There were holes in the API of RecodedLine that I try to fill here. The main idea is to propose coherent programming interfaces so that it will be "easier" to build the UI...

Concretely, I have :

- added a way to visit a unique value analysis
- added a method to retrieve the RecodedLegend instances used in the unique value
- added a method to globally set the field
- added a method to gather all the keys used in the Recode instances
- ensured that type changes in RecodedLegend take effect in the rendering tree.
- fixed a bug in PenStroke that crashed the simple editor window
- provided a way to validate dash patterns. I think this point has to be improved - we must provide a real validation mechanism for strings...
- get rid off all the potential null values in PenStroke. We must avoid null. We have default values. It's better to use them. We must work on it...
- Added Javadoc in places we missed it
- Added tests for all these points.

Now it's time to build the UI. As it will be swing code, I prefer to do two pull requests. It will be hard enough to review the UI code on its own...