Wester test cases N12-O3 added
Corrected enf of file character
Wester test cases 04-P8 implemented
Wester N12-P8 test cases added
Issue 694: Add tests from "Review of CAS mathematical capabilities", by Michael Wester

Added test cases from N12 to P8.
Added Wester test cases P10,P11,P12
Corrected test cases N12-N16 after Randy's review.
Added missing test case P9.
Added P13-P19 test cases
Corrections after feedback from Aaron for P3, P9 and P12
P3 added. P9 was wronlgy named P3. __remove_whitespaces() removed. P12 corrected.
removed __remove_whitespaces()
Added caching to delta in concrete, for speed.

Otherwise, testing it takes a long, long time.
Split the tests for deltaproduct and deltasummation.
Fix the no_piecewise logic for recursive deltaproduct calls.

Fixes the first two tests reported in issue 3987, where a Piecewise
was missing to really make the result valid for all input.

Note that this does not address the Karr convention; limits have been
assumed and are still assumed to be in increasing order.

c.f. issue 3987: wrong tests in test_deltaproduct
http://code.google.com/p/sympy/issues/detail?id=3987
Corrected P19, added P20
Added Wester test cases P26-P41
Fixed P25 with round()
Removed mpmath.inf. Fixed P8. Added P42, P43.
Corrected P43. Added P44.
polys: Use rational numbers instead of floats to avoid OverflowError

In [1]: a = (x**45 - 45*x**44 + 990*x**43 - 1)

In [2]: b = (x**46 - 15180*x**43 + 9366819*x**40 - 53524680*x**39 + \
   ...: 260932815*x**38 - 1101716330*x**37 + 4076350421*x**36 - \
   ...: 13340783196*x**35 + 38910617655*x**34 - 101766230790*x**33 + \
   ...: 239877544005*x**32 - 511738760544*x**31 + 991493848554*x**30 - \
   ...: 1749695026860*x**29 + 2818953098830*x**28 - 4154246671960*x**27 + \
   ...: 5608233007146*x**26 - 6943526580276*x**25 + 7890371113950*x**24 - \
   ...: 8233430727600*x**23 + 7890371113950*x**22 - 6943526580276*x**21 + \
   ...: 5608233007146*x**20 - 4154246671960*x**19 + 2818953098830*x**18 - \
   ...: 1749695026860*x**17 + 991493848554*x**16 - 511738760544*x**15 + \
   ...: 239877544005*x**14 - 101766230790*x**13 + 38910617655*x**12 - \
   ...: 13340783196*x**11 + 4076350421*x**10 - 1101716330*x**9 + \
   ...: 260932815*x**8 - 53524680*x**7 + 9366819*x**6 - 1370754*x**5 + \
   ...: 163185*x**4 - 15180*x**3 + 1035*x**2 - 47*x + 1)

In [3]: intervals(a*b)
Out[3]: [((0, 1/2), 1), ((2/3, 3/4), 1), ((3/4, 1), 1), ((6, 7), 1), ((24, 25), 1)]

Fix suggested by Heiner Kirchhoffer.
Fixed test_P25() round error with python3