It could probably use some optimization and I'm not sure about exact correctness of math used, but it should be immeasurably better than what we had before.
Planetary Temperature Fix for Multiple Stars

Temperature for planets in multiple systems should now be calculated correctly, or approximately correctly in all cases.
Possibility of Life Respects Stellar Lifetimes

If system couldn't have existed long enough for life to form (based on one of its stars being too massive), there will be none, if it has, life will be scaled accordingly to the time it could have had to develop.
Also removed explicit checks for star types - those cases are either handled automagically by mass check (hot, massive stars), or are no longer checked for (life around white and brown dwarfs is considered unlikely and requiring rather special circumstances to form but *NOT* impossible).
Fix for temperature overflows during system generation.

Everything normalized to Earth's values like a good little Earth chauvinist should.
Fixed temperature calculation for binary orbiting planets in quarternary systems.

Bug due to misinterpretation of (rare) orbital configuration, fixed by reordering of conditions checked.
Merge branch 'temperature_overflow_fix' into multiple_system_temperature_fix
Added (obvious) check to functions checking if body is coorbiting.
initial
added tooltips and new buttons
cleanup
add a quick return path in LuaSystemPath:SystemOnly and :SectorOnly
fix -Wmaybe-uninitialized warning when reading hyperclass_cap
fix -Wmaybe-uninitialized warning in LuaTable::GetMap<std::string,int>
sanity check in SystemPath::IsSameSystem that both paths point to systems
clean up confusing tests in l_sbodypath_attr_{system,body}_index
add extra error checking in Lua SystemPath methods
added ship:UseECM()
avoid use of UINT8_MAX, to fix a build error reported in #3085
fix: save joystick axis config on change (see #3085)
moved cpanel icons