An attempt to fix #2969

Actually, this fixes two things.

First, let's compute correct number of series terms for expansion of (f(x))**a in case when limit(f(x), x, 0) = 0.  An example: sqrt(sin(x)).

Second, this patch implements additional simplifications of powers in the order term:
* O(x**a * (-x)**b) -> O(x**(a + b)) 
* O(x**a * (-(x)**c)**b) -> O(x**(a + b*c)) 
* O(x**a * ((-x)**c)**b) -> O(x**(a + b*c)) 
* O(x**a * (-(-x)**c)**b) -> O(x**(a + b*c)) 

This should fix some failures, related to getn() calculation, e.g. sqrt(sin(x**3)).series(x,0,7).