Code quality: don't assign to self #8362

Most fixes are direct, some doubts in patch are 

pretty.py  the code always has `e=self` then `self=e`, unknown reason
tensor.py changing self to tensor is a little strange for codes between line 3058-3060
interval_arithmetic.py the change may influence the readbility

All the rest cases are not suitable to fix in this issue. As they are used intentionally.

sympy/galgebra/ga.py:                        self = MV.characterize_expression(self, base)
sympy/galgebra/ga.py:            self = MVtypes[mvtype](self, base)
sympy/matrices/dense.py:        self = object.__new__(cls)
sympy/polys/rings.py:            self = self.square()


On Fri, Nov 14, 2014 at 08:29:27AM -0800, Aaron Meurer wrote:
>    This is a bad choice of name. cls will be an instance, not a class. obj is
>    a better name (or you can leave self, as it's not the first argument of
>    the method, although that could still be a little confusing in such
>    cases).

btw, should we adopt similar policy for classmethod's?