* Added missing dependencies to build.txt

by: William
* Added mapping for PyFile_Type
* Added first cut at PyObject_Call -- tested to work with PyFile_Type

by: William
* Fixed args for PyObject_Call (had missed kwargs)
* Added data blocks for PyString_Type, PyTuple_Type
* Changed generatepythonmapper.py to include pythonMapperDataPtrItems, which currently contains PyExc_SystemError
* Python25Mapper.LastException is now an object, to allow us to set SystemErrors
* Python25Mapper.SetString now uses the first parameter and sets the appropriate exception
* PyObject_Call now uses reflection to get an ICallerContext, so it can actually call objects.

by: William, (Menno)
* Added several PyObject construction functions
* PyTuple_New should now be converted correctly when allocated and filled in by unmanaged code
* Fixed GeneratePythonMapper to work correctly with more than one dataPtrItem
* Added OverflowError, PyTupleObject, new types
* Fixed missing dependency in pythonmapperconponents makefile

By: William, Menno
* Python25Mapper_exceptions.cs is now autogenerated by generatepython25mapper.py and the contents of python25mappercomponents
* Most CPython exception type pointers now exist on the PythonMapper object, and are mapped to appropriate managed objects.
* Leak tests updated to use Python25Mappers instead of plain PythonMappers.

by: William
* stubmaker now checks for '_ignores' (symbols to generate no code for) and '_postamble.c' in overrides directory (required to implement upcoming pure C functions)

by: William
* Renamed Python25Mapper.Delete to Free
* Python25Mapper.DecRef will now call the appropriate tp_dealloc function if the object has a type
* Fill_PyTuple_Type now sets the tp_dealloc and tp_free pointers
* new PyTuple_Dealloc decrefs items and frees tuple memory
* PythonMapper.dgtMap is now protected for convenience's sake

by: Michael, William
Many changes:

* Stub generation has changed significantly; the 'overrides' directory is gone, and in place we have 'stub', with entirely different contents:
** python25.c just includes other files
** PyAPI_types.c contains as few typedefs and preprocessor directives as I could include; just enough to allow everything else to compile
** PyAPI_FUNCs.c and PyAPI_DATAs.c ensure that we have every symbol that Python25 does; changes have been kept to a minimum
** abstract.c, getargs.c and modsupport.c contain code copied from the correspondingly-named files in Python 2.5.2
** _ignores and _statics are used to generate the jumptable code, much like before
** tests/data/overrides has likewise been replaced by tests/data/stub
* Since we're now using the well-tried CPython implementations of PyArg_Parse*, ArgWriters.cs and Python25Mapper_args.cs have been deleted, along with their tests, and the horrible jerry-built varargs-passing overrides (and their tests).
* We're also using the CPython implementation of Va_BuildValue, so the initialisation of a bz2.BZ2File object proceeds a little further than before.

* PythonMapper now handles all standard TypeObjects and most Ecxeptions
* Tuples, Dicts and strings are now stored with the correct type ptr.
* Tuples and strings should always be correctly converted into macro-accessible lumps of unmanaged memory.
* Implemented PyDict_Size, PyDict_GetItemString

* _ironclad_dispatch_kwargs now passes IntPtr.Zero for kwargPtr if kwargs is empty
* CPyMarshal now has a method to zero memory ranges
* the generated PythonMapper now zeros SetData addresses before passing them to the Fill_ method.
* There is a new generated Python25Mapper_store.cs component, to force use of the correct Store method.
* updated license.txt
* didn't update documentation yet

by: William, (Michael)
I have no idea how I failed to add htese files last time.

by: William
* Renamed *.pythonMapperDelegateItem to *.pmdi

by: William
* Removed unnecessary PythonStubHarness files

by: William
* BZ2Files can now be initialised successfully (although you can't do anything with them yet)
* PyFile_AsFile now kinda works (always assumes 'r' mode)
* Renamed Kernel32 to Unmanaged, since it now uses functions from msvcrt.dll as well
* Readded a .dll for unmanaged functions required for tests
* File methods and tests moved into their own files

by: William
* Refactored python25mapper_module_test.py -- most parts should now be easier to understand.

by: William
* Wrote a bit of exploratory code to see if any of multiarray could be imported; may as well check it in, otherwise I'll just have to write it again one day.
* Added null implementations of PyModule_GetDict and PyErr_Occurred, so that we can fail to import multiarray without actually crashing.

by: William
* we now generate C# code for CPython functions we haven't implemented, because a NotImplementedException with a useful message is more pleasant than "Attempted to read or write protected memory"

by William
* Added PyObject_CallMethod (in C)
* Added PyCallable_Check and PyObject_GetAttrString (in C#)
* BZ2File now fails slightly differently.

by: William
* Python25Mapper now keeps good-enough track of Store()d objects that repeatedly storing the same object will return the same pointer and increment refcount.
* Python25Mapper.RefCount no longer fudges distinction between 'unmapped object' and 'object with refcount 0'
* New CPython Tuple objects now have items zeroed, and should no longer cause crashes when freed before being completely initialised
* Slightly simplified hideous tests for extension-defined type instantiation

by: Tom, William
* None is now mapped sensibly
* BZ2FileTest now fails in a slightly different place

by: Tom, William
* (semi-?) opaque pointers now have ob_type of PyBaseObject_Type instead of null
* PyBaseObject_Type has tp_dealloc and tp_free pointers
* Python25Mapper now has a mechanism (GetMethodFP) for remembering function pointers to methods which are not part of the CPython api
* Attempts to get the address of uninitialised data now returns IntPtr.Zero, instead of raising a KeyError

by: Michael, William
* Renamed Python25Mapper.Free to PyObject_Free, and hooked it up to API
* PyBaseObject_Dealloc now calls the free function defined on the type, instead of always choosing the PyBaseObject_Type's free function
* PyString_Type now has dealloc/free functions defined (same as PyBaseObject_Type)

by: William, Michael