modify degree for Poly([0.0]); polyder

Two small suggestions:

* modify degree to return 0 for Poly([0.0]). Otherwise, recent change to * has issues
* change factorial(i)/factorial(i-order) to prod(i-order+1:i) in polyder to avoid OverFlow error.