removed roofedgesetbacks
Merge remote-tracking branch 'origin/develop' into develop
remove local-environment specific file IEPModel.xsd
Added IEPModel-Example.xsd which is an example of IEPModel.xsd, a file that is local-environment specific and which should not be versioned.
update to gitignore file
added the sample request xml file.
Got Roof Face Layout Request validation working with multiple name spaces.
I made several changes to the XML Schema files that simply reflect changes that have already been made to the live version of the API. None of those are listed below.

Global changes:

The schemas and XMLs now use both the SDT and IEP namespaces. This is achieved by setting the default for elements and attributes to "unqualified" and by using an "sdt" prefix on just the root element.

IEP:
Common.xsd
polygonEdgeTypeEnum : changed named to polygonEdgeType. Note: In this case, "Type" is not serving as the "Type" suffix that was previously being used on all complex types, but rather it is an accurate description of the enum itself - this enum represents a type of edge.
polygonEdgeTypeEnum: I changed "eave - pitched roof" to "eave" and deleted "eave - flat roof". This enum represents the set of edge types. This is semantically different than the settings in the request where we might require that the client provide default values for edge types under various conditions, e.g. "eave when the roof is pitched", or perhaps in the future "hip when there are no modules on adjacent side"
EquipmentLocation - I changed equipmentInstanceIdRef from an element to an attribute.
Renamed polygonEdge to roofEdge and moved to Building.xsd.
Renamed polygonEdgeType to roofEdgeType and moved to Building.xsd.

CommonSolar.xsd
Added TerrainSegment as an extension of the abstract type ArrayArea.
Removed ArrayArea#type

Added Layout.xsd to IEP.
SDT
CommonReqest.xsd
InstallationAreaSpecification requires a type element to specify what kind of Array Area needs to be created. Before this was optional and the default was "RoofFace"
IEPModel.xsd - I removed this from repository and replaced with IEPModel-example.xsd. Please copy this file and rename to IEPModel.xsd. It should work at this time without any modification since all files are in the repository.

Some discussion.

IDs: The app previously assigned points, edges, and module spaces ids that were unique only within the scope of its parent. But this resulted in failed validations since the XML data type ID requires that values be unique within the scope of the document. I have made changes in the SDT app to ensure that they are now unique globally. This is the current naming convention
vertices
Array Areas: "array-area-vertex-local-{ALPHA}" or" array-area-vertex-ortho-{ALPHA}", depending on if it's in the local or ortho polygon
ModuleSpaces:  "modulespace-vertex-local-{ALPHA}" or "modulespace-vertex-ortho-{ALPHA}", depending on if it's in the local or ortho polygon
module spaces
"modulespace-{ALPHA}"
edge
"edge-{ALPHA}"
Vertices
I believe we need to make a change on how we handle vertices. Instead of having the vertices nested within the polygon, I think we should list all the vertices outside of the polygon and list references to those vertices from the polygon. The reason I want to do this is because otherwise we will have different Point2d's that actually refer to the same points whenever polygons share points. While this may not make too much of a difference now, if we ever implement point snapping so that different polygons can share the same points, not doing it this way will create problems.