Prevent infinite recursion in invalidate

Change-Id: I8946a8572b608bf8ede211d270f797f135f8083a
Reviewed-by: John Cummings <jcummings2@users.sf.net>
fix build in C++11 mode

Add spaces between string literals and preprocessor symbols. These are
required because C++11 defines string prefix and suffix operators, and
confuses preprocessor tokens adjacent to string literals as unrecognized
string literal modifies, resulting in compile errors.

Some of these changes are also needed to prevent generating code with
the same problem (which affects both Shiboken building itself, but also
any users of Shiboken).

Change-Id: I99f2d3c61fd9df682f915a29f27321fee2ce759e
Reviewed-by: John Ehresman <jpe@wingware.com>
Fix bug introduced when recursive_invalidate was added.

If a Python object is passed to recursive_invalidate and is a sequence,
each item in the sequence is invalidated
Add unit test for recursive invalidate of a sequence

Change-Id: I70834f8e027bd17a04c0e443bc7d584d1fde26c1
Reviewed-by: John Ehresman <jpe@wingware.com>
Reviewed-by: John Cummings <jcummings2@users.sf.net>
Use non-static method def for instance methods

For methods that can be called as either class or instance methods
(e.g. PySide's QObject.connect), a non-static variant of the
PyMethodDef struct is needed in Python 3.3 when method is used
as an instance method.  Fixes
https://bugreports.qt-project.org/browse/PYSIDE-145

Change-Id: Ie8876a381614f33815f9b6449ea4a61cde9e5cee
Reviewed-by: John Cummings <jcummings2@users.sf.net>
Fix segfault when using shiboken.delete

When an object is deleted, invalidate / releaseWrapper needs to
be called before cptr array is deleted.

Change-Id: I82f71f569d5a0f52084fbe1cc3d7846e764c7ef6
Reviewed-by: John Cummings <jcummings2@users.sf.net>
Decref reference to type object

A decref is needed if the type is not subclassed when an instance
is deallocated

Change-Id: I2c64d7cb5b726c5bf108c1cbc5283cf315a5f8e9
Reviewed-by: John Cummings <jcummings2@users.sf.net>