Call updateEpslevel() in chebtech.restrict().

At the moment, the division by vscale here can result in the emergence of a NaN
epslevel if we call restrict() on an identically-zero chebtech:

  >> f = chebtech2(0);
  >> restrict(f, [-0.5, 0.5])
  ans =
    chebtech2 with properties:

        coeffs: 0
        vscale: 0
        hscale: 1
       ishappy: 1
      epslevel: NaN

This causes problems with an example in ATAP which uses remez().  This commit
fixes this by changing chebtech.restrict() to call updateEpslevel() like
everything else.

As usual, this change has the effect of improving the returned epslevel by
quite a bit.  This causes the tolerances for endpoint roots in bndfun.power()
and chebtech.extractBoundaryRoots() to need to be loosened in order to get one
of the tests in tests/chebfun/test_sqrt.m to pass.  Doing this causes
tests/unbndfun/test_diff.m to fail, but this can be fixed again by modifying
the factor by which the tolerance is loosened when trying to detect multiple
roots in chebtech.extractBoundaryRoots().

Other than this, tolerances for some tests in tests/chebfun/test_jaccoeffs.m
and tests/chebfun/test_overlap.m require tweaking to ensure that they pass.
Test remez() example from ATAP which flushed out epslevel issue in restrict().
Fix straggling place in cf() needing conversion for new coefficient order.

Supplied by MJ.
Force lineSegs output of fov() to be based on chebtech2.

This linear chebfun is constructed by specifying its values at +/- 1.  That
will only work if the underlying tech is chebtech2, since first-kind Chebyshev
points don't include the endpoints.  Thus, we have fov() force the underlying
tech to be chebtech2.

Without this change, the fov() test fails "in first-kind mode".
Merge pull request #1140 from chebfun/fix-cf-remez

fix-cf-remez