SI-6434 Pretty print function types with by name arg as (=> A) => B

We were pretty printing a function type with one by name arg as
=> A => B, but because => is right associative that's formally
equivalent to => (A => B) and that's entirely a different thing. This
commit changes the pretty printer in Typers.scala to check for a
byname argument on a function type and wrap it in parens. A REPL test
is included.
Merge pull request #1958 from JamesIry/SI-6434_2.10.x

SI-6434 Pretty print function types with by name arg as (=> A) => B