Fix hang/incorrect result for ndigits with b < 0.
Remove debug junk
Add tests for ndigits (issue #8266).
Move negative base check inside ndigits0z and add a test for (unsigned, signed) case.
ndigits: don't take abs(n) if b < 0.
Throw error when bigint ndigits has a negative base.
Merge remote-tracking branch 'julia/master' into ndigits_hang
Replace 'manual' cld with cld function now that #8111 has been merged.
Match previous ndigits0z interface.
Call 0z version of ndigitsnb, which avoids an extra branch.
Complete the description of Pkg.init()

Provides guidance for those wishing to implement a custom METADATA setup
use double-double precision for sinpi
sind/cosd using double-double
translate trig kernel functions to julia
improve sinpi rationals, add tests for exact values
rename DoubleFloat types
expressions -> functions in LineEdit.jl

Un-macrofied keymap function. Update value function signatures. Pass thru
returned symbols in keyamp_fcn. history_keymap can now be const.
Update LineEdit test.
Institute One True Behavior™ for up/down arrows. Fixes #6377.

Those that prefer the old behavior can put this in their .juliarc.jl:
```julia
import Base: LineEdit, REPL

const mykeys = {
    # Up Arrow
    "\e[A" => (s,o...)->(LineEdit.edit_move_up(s) || LineEdit.history_prev(s, LineEdit.mode(s).hist)),
    # Down Arrow
    "\e[B" => (s,o...)->(LineEdit.edit_move_up(s) || LineEdit.history_next(s, LineEdit.mode(s).hist)),
    # Page Up
    "\e[5~" => (s,o...)->(LineEdit.history_prev_prefix(s, LineEdit.mode(s).hist)),
    # Page Down
    "\e[B" => (s,o...)->(LineEdit.history_next_prefix(s, LineEdit.mode(s).hist))
}

Base.active_repl.interface = REPL.setup_interface(Base.active_repl; extra_repl_keymap = mykeys)
```
signbit returns bool, not int