SCons on IronPython

Unfortunately, it doesn't work right out of the box. SCons does some pretty interesting (?) things, so it makes a good workout for IronPython. Also, SCons is built and tested to be compatible all the way back to Python 1.5.

I'm starting out by trying to compile a simple hello world program. The SConstruct is: Program('hello.c')

This works fine on Python 2.5 and on IronPython 2.0B2, with some workarounds. There are a few IronPython bugs that are hit: (The last two are both in SCons.Script.SConscript.get_calling_namespaces).
 * #15398 - Most co_* attributes raise NotImplementedError
 * #15512 - subprocess module not implemented
 * #16414 - No signal module
 * #16413 - os.chmod followed by os.unlink fails
 * #15514 - "os.spawn{v,l} do not work with certain command lines"
 * #15399 - 'frame' object has no attribute 'f_back'
 * #15400 - frame.f_locals is broken

Once those are worked/hacked around, it fails trying to find the command interpreter; the _winreg module is missing so we use COMSPEC instead (which strikes as a better idea anyway).

See Scons issue #2043 for more details.