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
Merge pull request #2469 from jrioux/concrete

Fix for issue 3987 with deltaproduct.