Fixed SolarEnvelope and SolarFan

The solarEnvelope now performs it final boolean intersection operation
correctly, producing the correct result.  Similar methods were used to
improve the boolean union operation in the solar fan (when this is
necessary).