defaults: protect from unfound locals

If a default value cannot be found in locals, do not set it.
Improve arg2 a bit by checking !arg2-sigil upfront,
disable default values with types, in portion we get the type from the value.
for subs without () use list undef as sig proto.