New GenericCrossSection type and general tidying

There is a more detailed description of the changes in each of the commits.

Note that it won't compile straight-away as the Grasshopper and RhinoCommons library paths are hard-coded.
Also it requires that ILRepack is managed/installed via NuGet.