degree_2: Improving speed of polynomial's degree()

When calculating degree of functions like (x+1)**10000, it takes a considerable amount of time. Its because the process should first expand the function. But this can be brought into a much faster calculation in which it uses the the iterative traversal through it's arguments. 

Example:

degree((x+1)**10000) ---> 10000

Note: This algorithm makes the calculation to a several miliseconds whereas the older one took several minutes where I had to reboot the machine.