Mods for IronPython 2.6 RC2
 * PythonModule.__dict__ is gone, switched to use Get__dict__()
 * PythonModule.setattr now takes a Context as its first arg

by: Glenn
* Updated commenting and formatting in data files
* the uninitiated may now have half a chance to figure out what's going on ;)
* disabled h5py testing, RC2 has fixed importing and hence broken my hacks

by: William
* Updated build/test docs
* slightly improved state of scipy tests
* PythonMapper.Import now works slightly better (that is to say: h5py imports again)

by: William
* further scipy test tweaks

by: William
* patch_native_filenos unpatches linecache, because it creates too much noise when debugging file issues
* PyCode_Type, PyFrame_Type and PyTraceBack_Type are now purely interpreted; Pyx traceback stuff no longer corrupts memory
* Dispatcher.ic_destroy now takes a name; error nessages slightly better
* Minor CPyMarshal improvements
* implemented _PyObject_NewVar
* error logging slightly more readable

by: William
* Stupid import hack may as well use the same mechanism we do for all other python code

by: William
* removed piltests.py: PIL doesn't work on ipy 2.6 atm
* removed numpy blacklists: we can do a full test run without crashing now, so we may as well just run everything

by: William
* made PyTraceBack_Here do nothing -- ironclad ignores curexc_traceback anyway
* various extra-package test improvements

by: William
* split DllReader off from StubMaker
* split generateexports.py off from generatestub.py
* rearranged SConstruct slightly; added generateexports.py call and dependencies
* got rid of _all_api_functions; its users now use _visible_api_functions.generated (from generateexports.py)

by: William
* removed insertfiles appendix

by: William
* Added a build step to generate gccxml output from stubmain.c
* nothing uses the output yet, but it's a start
* tidied up some C code (and stubmaker codegen) to satisfy gccxml
* updated doc/build.txt to include extra dependencies
* added tools.utils_gccxml (not used yet; parses gccxml output)
* renamed tools.c_utils to utils_c for neatness' sake

by: William
* big news: all PythonApi method signatures are now determined from gccxml output
* consequent big news: I have been rudely forced to get over my inability to distinguish between size_t and ssize_t, which has caused a fair number of knock-on changes in PythonMapper_whatever files, and associated tests. generating structs will present similar challenges. still, all for the best.

various interesting details follow

* renamed PythonMapper.ForceCleanup to DemandCleanup, to reflect the oft-futile nature of GC requests
* function specs in _dispatcher_methods have been corrected from 'size' to 'ssize' where appropriate (we should be autogenerating these too, now)
* _extra_dgttypes is gone, because we pick up the required dgts automatically now
* SLICE_HACK_TEMPLATE_TEMPLATE is now gone (size/ssize...)
* _mgd_api_functions now contains only names of those API functions for which we want a managed implementation
* _mgd_function_prototypes now contains C prototypes for all 'IC_" functions, rather than having some of them represented by name/dgt_spec pairs (as were in the old _mgd_api_functions)
* platform.py is gone; effectively replaced by type_codes.py (which contains one platform-specific dict)
* free functions in apiwrangler moved to new dispatchergen.py, magicmethodgen.py, utils_codegen.py, and preexisting utils.py
* horrid horrid utils_c.py is gone
* apiwrangler operation overall made cleaner/clearer

by: William
* moved everything from tools that isn't an actual tool into tools.utils

bu: William
* structure definitions are now obtained via gccxml; PythonStructs.cs is gone
* PythonEnums.cs holds leftover contents of PythonStructs.cs
* structs no longer have fields with sepcific enum types; we now have to cast them ourselves
* all structs now lack constructors: however, this is easily fixed in python, and rarely a problem in C#
* PyComplexObject's apparent layout has changed; some consequential tweaks
* a bit less casting in PythonMapper_ files
* turned out much easier than expected :)

by: William
tools refactoring:

* renamed many variable and constant names for clarity's sake
* kwarg keys in _dispatcher_fields, _dispatcher_methods, _magicmethods are now more readable
* split dgttypesgen out from apiwrangler
* renamed some utils modules for consistency's sake

by: William
* renamed generateapi.py to generateapiplumbing.py
* rent ApiWrangler asunder; replaced it with generate_api_plumbing in apiplumbing.py, which does the same job with the help of a separate Generator class for each output file. I knew there was a tolerable design in there somewhere, struggling desperately to get out...
* renamed some data.snippets.cs.* and tools.utils.*gen files to improve consistency

by: William
* made ictype system much cleaner, clearer, saner: see ictypes.py
* added FuncSpec class in concert with the above
* funcspecs are now generated by gccxml.py (among other places) and used everywhere it makes sense to do so
* removed sneaky hack from gccxml.py (that effectively changed funcspecs behind our back)
* inserted brazen hack into generateapiplumbing.py to deal with data/api/_mgd_api_functions format change; this gives the same effect as the aforementioned sneaky hack, but can be controlled
* file.py is now io.py
* codegen.py is gone
* other instances of wanton renaming, reformatting, other 'improvements' throughout

by: William
* dispatcher generation now pulls function specs from gccxml
* _dispatcher_methods has been correspondingly simplified, and now only contains entries for those methods that are actually used
* generateapiplumbing.py is now just responsible for reading and writing; just about all the analysis is now done by Generator classes
* ApiPlumbingGenerator input handling changed to set inputs as instance attrs before calling run (instead of passing them in directly)
* gccxml.py now understands function typedefs
* gccxml.generate_ functions renamed, made cleverer
* gave several data files (and generated files) clearer names

by: William
* obsessive code formatting
* other code tidying
* templates which take more than one insert should now all have named insert sites
* consequent changes
* magicmethodsgen rearrangement
* no actual changes in functonality

by: William
* Dispatcher.[gs]et_FOO_field is now [gs]et_FOO
* removed autogeneration of unused Dispatcher.destructor
* consequent cleanups

by: William