set default value from signature defaults in interact

If available, use the default value from the signature for the initial condition,
when using range/choice abbreviations.

Not affected:

- single-value abbreviations (`@interact(a=5)` sets `a=5`)
- explicit Widgets
remove no-op adding abbreviations from always-empty dict
set default value from dict
further tests for default values in interact


both valid and invalid
undo failed changes

before raising

otherwise, invalid values were still accepted
Merge pull request #5136 from minrk/interact-default

set default value from signature defaults in interact