Fix delete_if (reject!) for the STL container wrappers.

Previously they would sometimes seg fault or not work.
Fix test suite lock initialisation leading to random seg faults in li_boost_shared_ptr
Fix autodoc test for python 2.4
Add note about Python STL fixes
Fix Ruby documentation for %bang
Fix incorrect assumptions in Ruby li_std_set test
Fix seg fault when using STL containers of generic Ruby types, GC_VALUE or LANGUAGE_OBJECT, on exit of the Ruby interpreter. Observed on 64 bit Linux in the std_li_set testcase. The global hash which is meant to hold GC references was being deleted by the interpreter on exit before the GC_VALUES destructors were being called.
Fixes for Ruby 1.9 std::complex wrappers.
New native Ruby complex numbers are used.
Fixes for out of source builds for Ruby test-suite
Ruby 1.9 fixes.

SF Bug#1292 - Runtime fixes for Proc changes in ruby-1.9 when using STL wrappers that override the default predicate, such as:

  %template(Map) std::map<swig::LANGUAGE_OBJ, swig::LANGUAGE_OBJ, swig::BinaryPredicate<> >;

Fixes li_std_functors testcases for Ruby 1.9.

Also rb_respond_to return values have changed subtely in 1.9 and return should be treated as a flag instead of checking for Qtrue, see SF Bug #1159.

Also fix li_std_map, li_std_set silently failing - rb_protect behaviour seems to have changed when an exception is thrown, so code has been changed to use rb_rescue. A call to 'rb_set_errinfo(Qnil)' could have solved this after the rb_protect call, but it is only available in 1.9+ and Ruby API changes are not easily and transparently detectable.
More rb_protect rewrite to use rb_rescue for Ruby 1.9
Rewrite Ruby's GC_VALUE without use of macros for easier debugging