Alter TailRec to have map and flatMap

As described in the "Stackless Scala with Free Monads" paper

scala> import scala.util.control.TailCalls._
import scala.util.control.TailCalls._

scala> :paste
// Entering paste mode (ctrl-D to finish)

def isEven(xs: List[Int]): TailRec[Boolean] =
  if (xs.isEmpty) done(true) else tailcall(isOdd(xs.tail))

def isOdd(xs: List[Int]): TailRec[Boolean] =
  if (xs.isEmpty) done(false) else tailcall(isEven(xs.tail))

// Exiting paste mode, now interpreting.

isEven: (xs: List[Int])util.control.TailCalls.TailRec[Boolean]
isOdd: (xs: List[Int])util.control.TailCalls.TailRec[Boolean]

scala> isEven((1 to 100000).toList).result
res0: Boolean = true

scala> def fib(n: Int): TailRec[Int] =
     |   if (n < 2) done(n) else for {
     |     x <- tailcall(fib(n - 1))
     |     y <- tailcall(fib(n - 2))
     |   } yield (x + y)
fib: (n: Int)util.control.TailCalls.TailRec[Int]

scala> fib(40).result
res1: Int = 102334155
Stackless implementation of TailRec in constant memory.
Correcting scaladoc for all classes defining withDefaultValue method.
The description of the single parameter seems to be a copy and paste mistake from withDefault method.
SI-7791 Line number table reflects underlying file

Since positions ultimately know their ultimate
positions in their ultimate source, use that line
number, ultimately, when emitting line number
table entries.

It is possible, but possibly not useful, to emit
both the actual (ultimate) line number and the
nominal one.

The `int`-valued line number of the `StackTraceElement`
is "derived" from the attribute.

In global, wrapping a `BatchSourceFile` as a
`ScriptSource` happens in `compileSources` to
facilitate testing.

A `ScriptTest` facility is provided to facilitate
testing the script facility. It is rather facile.
SI-7805 REPL -i startup

Tested with a ReplTest that loads an include script.

ReplTests can choose to be `Welcoming` and keep a
normalized welcome message in their check transcript.

One recent SessionTest is updated to use the normalizing API.
Merge pull request #2917 from som-snytt/issue/7805-repl-i

SI-7805 REPL -i startup
Merge pull request #2900 from nermin/master

Correcting scaladoc for all classes defining withDefaultValue method.
Merge pull request #2865 from folone/trampolines

Alter TailRec to have map and flatMap
Merge pull request #2885 from som-snytt/issue/7791-script-linenums

SI-7791 Line number table reflects underlying file