Simultaneous Python 2 and 3 compatibility

This version is compatible with 2.6, as well as 3.2 and later.
Merge pull request #52 from melver/2and3

The master branch should now support both Python 2.7 and Python 3.2.  Needs testing on Python 2.6.
Explicitly refer to metaclass, as __metaclass__ no longer exists
Extended _is_number check to support numpy and gmpy number types

In additional to the usual check, an object is considered a number if it
has both the __int__ and __add__ methods.
Extended _is_number check to support older versions of gmpy
Merge branch '2and3' into python3

Merge minor changes, but retain Python 3 only code.

This merge is to continue tracking upstream in this Python 3 only
branch.
Merge branch 'master' into python3