Issue 1756: don't do division by order term

Sympy produces the following (wrong) results (see [1756](http://code.google.com/p/sympy/issues/detail?id=1756)):
```In [11]: 1/O(1)
Out[11]: O(1)

In [14]: 1/O(x)
Out[14]: O(1/x)

In [15]: 1/O(f(x))
Out[15]: O(1/x)```

Lets fix this mess.

Also affected (fixed) issues:
[3683](http://code.google.com/p/sympy/issues/detail?id=3683) - AssertionError: sqrt(sin(x**3)).series(x,0,3)
[3554](http://code.google.com/p/sympy/issues/detail?id=3554) - AssertionError: (1 / sqrt(1 + cos(x) * sin(x**2))).series(x, 0, 15)
[3111](http://code.google.com/p/sympy/issues/detail?id=3111) - series(cot(x**20 + x**21 + x**22), x, 0, 1) is wrong

TODO:
- [ ] final rebase?