Fix for #2399 and add properly type constructors for AdaptiveComponent, DividedPath, DividedSurface

### Issue

AdaptiveComponent.ByParametersOnFace was not working properly.  There were two issues here:

1)  The element tagging mechanism was broken in GeometryConverter.  This prevent Surfaces from being properly tagged with their Revit `Element` References.  This happened when the `Surface` EdgeLoop partitioning work was added in.  It's now fixed.  That's the first commit.

2)  The constructors for `AdaptiveComponent`, `DividedPath`, and `DividedSurface` erroneously took object.  This was a standin for the face that they accept `Element*Reference` types, `Curve`s, `Element`s, and `Surface`s where appropriate.  This makes the nodes more tolerant, but also broke replication guides because all of the type information for these constructors was blown away.  This adds hidden constructors that support all of the non-standard types.  That's the second commit.

### Unit tests

All of the unit tests still work, while a new unit test was added for `AdaptiveComponent.ByParametersOnFace`.