(closes#2633)
* move osmChangeJXON from osm service to osmChangeset
* cleanup putChangeset for code clarity
* adjust params for callbacks (pass changeset around instead of changeset_id)
* add commit.reset() to reset changeset object after successful save
* improve checks for changeset tags (trim whitespace, etc)
This is used to draw vertices
* where multiple parent ways meet
* where a single way self intersects (but not the closing node of a loop)
We were using Graph#isShared or osmNode#isIntersection, but this is slightly
different to handle self-intersecting ways.
This lets us break closed ways at their connecting node in the few situations where
we actually want that behavior (disconnect action for circular non-area ways)