Add a generic street notes source interface.

Put all note-related stuff to dedicated package.
Extract few inner class as top-level classes.
Add few comments.
Merge pull request #1543 from laurentg/pse-optimizations

Add a generic street notes source interface.
Remove println(geometry) if fromv/tov is null.

Workaround for #1544.
Since we need from/to vertices for getting edge
geometry, getGeometry() with fromv or tov NULL
will cause a NPE.
Remove unused import.
Fix #1544. Remove static notes on AreaEdge pruning.
Merge pull request #1545 from laurentg/fix-1544

Fix #1544