Improve script check for number of args.

Remove the need for specifying check_argcount=False if function uses *args.

expected_args is now a 2-value tuple with lower and upper range of argument counts.

Also, looks like this also fixes a previous bug in range calculation if there were defaults i.e. should have been `range(argcount[0] - len(argspec[3]) - 1, argspec[0])`.

Commented print string left in so correct range can be verified if needed.