Fixes sharedmethod to work on Python 2.6.

My original workaround to this involved pulling out the get_function
helper function defined in deprecated and using that in place of
self.__func__.  But I needed a few other things for sharedmethod to work
and adding hacks to get_function to support it was starting to look
silly.

So instead this adds a __func__ attribute to shared method, like it
would have on other Python versions, which is crafted to work
transparently the same as other Python versions at the (acceptable) cost
of a little extra overhead (on Python 2.6 only--no overhead is added for
other Python versions).
Add py:class classmethod to nitpick exceptions since it's another buggy entry in Python's API database, which currently has it as a function not a class
Fix another Python 2-specific bug with sharedmethod that was caught, of all things, by Sphinx autodoc (which noticed when trying to generate function signatures that the sharedmethod's im_func did not actually point to the original function, but to an unbound method