Single authoritative Checked macro implementation.

This currently supports four flavors:

    Checked.tryOrElse[A](n: A)(orElse: A): A
    Checked.tryOrError[A](n: A): A
    Checked.option[A](n: A): Option[A]
    Checked.tryOrReturn[A](n: A)(orElse: A): A

Almost all the implementation is shared. The second and third macros basically
dispatch to the first's machinery -- the fourth does a little bit of its own
thing to avoid some indirection that is needed in the general case.