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

The output blocks containing Unions have been demoted to ordinary code blocks instead of doctests
<strike>WARNING: 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)})~~
</strike>