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
correct iteration in plot

This was reported by Thomas Baldwin at
https://github.com/sympy/sympy/issues/2563
Merge pull request #2564 from smichr/plot

correct iteration in plot
Merge pull request #2469 from jrioux/concrete

Fix for issue 3987 with deltaproduct.