Improvements in OSM mappings

Support for adding default fields in MappingRule.java
Better handling of lies/plygons and extra options

This commit addresses #513 and #514

Documentation has been updated and the OSM chapter cleaned, removing a section that shouldn't be in the manual
fixed issues with default field names
fixed issue when unmapping polygons

fixes #522
fixed unmaping issues.

-avoid creating null values when unmapping
-handle default fields correctly
added —id option to create-changeset
added osm apply-diff operation and command
make -f parameter in som create-changeset mandatory
reuse username when unmapping osm data
added featuretype id to show command output
Added CRS description to output of show command

It includes some refactoring of the CRS serializing functionality
adapted functional tests for shown command
Changed P4JEntry point to report progress based on progress listener, not on parsing output
fix compile error due to CLI's progress listene being private
fix imports in OSMUnmapOp and CreateOSMChangeset
Mark nodes to be deleted as having NULL ObjectId.

Instead of having RevTreeBuilder2 an in memory list of nodes to be deleted,
make it mark them as having ObjectId == NULL and add them to the NodeIndex,
then call RevTreeBuilder.remove(node.getName()) instead of RevTreeBuilder.put(),
to avoid potential out of memory errors.

Also make FeatureToDelete hold its type instead of a separate "path" field
to make it less of a special case.
Merge pull request #574 from volaya/show_improvements

Show improvements
add missing (c) header
Merge pull request #581 from groldan/volaya_osm_improvements

osm improvements
Merge pull request #582 from groldan/py4j_progress

Changed P4JEntry point to report progress based on progress listener