Force equal endpoints for adjacent subintervals in bndfun.conv() output.

This was not a problem previously because each fun returned by
bndfun.conv() was added to the final chebfun being constructed inside
chebfun.conv() one at a time, so the minor discrepancies in the
endpoints got removed by chebfun.tweakDomain().  With the recent changes
to conv(), they're now all assembled into a chebfun before they get
added.  chebfun does not attempt to tweak the domains of the endpoints
if it is constructed directly from funs, so the resulting chebfun winds
up with some breakpoints that differ only by eps, and that causes
problems.  In particular, the geom/RoundingCorners.m and
stats/CentralLimitTheorem.m examples crash.

This commit fixes this by forcing adjacent endpoints of funs in the cell
array returned by bndfun.conv() to match exactly.
making the CLT example work.
fixing end point problem for conv
Fix issues with endpoints in deltafun.conv() prior to restriction.

The fix of the previous commit attempts to patch things up after the
call to restrict(), which seems to work at the moment but is probably
ultimately still prone to the same error we've been getting when trying
to run the stats/CentralLimitTheorem.m example we've been getting.  This
commit (1) sets the endpoints of each fun returned by bndfun.conv() to
come exactly from the set of breakpoints we get after coalescing ones
which are close to each other and (2) does so _before_ calling
restrict(), which should make everybody downstream happy.

Ugh... this issue has been very annoying.
Merge pull request #1183 from chebfun/fix-conv-endpoints

Fix conv endpoints