Make doctests pass

Reflects lots of small changes in printouts and error messages, line numbers, etc.

Nontrivial changes:
- Bump JuliaDoc submodule
- The control flow documentation had to be reformatted slightly to make
  doctests pass.  The output of Task(...) now prints out a memory
  address which is clearly not reproducible, so the output is
  suppressed.
- Some roundoff printing issues in complex-and-rational-numbers?
- isequal(NaN,NaN32) == true
- It also looks like sqrt(-1) no longer prints a helpful error message
  about trying sqrt(complex(-1))...?
- strings.rst, line 239: "ERROR: BoundsError() in getindex at
  ascii.jl:11" no longer prints out traceback??
- control-flow.rst, line 638: UndefVarError->MyUndefVarError to prevent
  overwriting Base UndefVarError

WARNNG: Because union types appear to be unsorted on output, sometimes
Union(a,b) is printed out as Union(b,a). This causes the doctests to
fail nondeterministically, e.g.

Failed example:
    super(Union(Float64,Int64))
Expected:
    ERROR: `super` has no method matching super(::Type{Union(Float64,Int64)})
Got:
    ERROR: `super` has no method matching super(::Type{Union(Int64,Float64)})
Update sqrt(-1) doctests
Fix Union printout orders
Update line numbers for square
Demote doctests containing Unions to ordinary code snippets

This is a workaround for the nondeterministic order of Union printouts - they can be output as Union(a,b) or Union(b,a), which confuses the Sphinx doctest parser.
Bump line numbers for square again.
Merge pull request #7693 from JuliaLang/cjh/fixdoctest

Make doctests pass