Avoid Name Collisions in Temporal Script Files

The original code is suitable for SIMD configurations where a single
method is executed several times. This change allows for PyMW to be used
in MIMD or MISD configurations, where the name of the methods that are
being executed can actually collision.

One case where this could happen easily is in class methods, so the code
deals with naming these separately. This code is inspired in
observations made at http://bugs.python.org/issue9276 about bound and
unbound method naming.

There are cases that are probably not covered, like nested methods or
methods of nested classes, but these changes should cover most of the
common cases.