MEDIUM: debug: add a new version of complain() that takes a debug_count struct
complain_with_dbg() takes a debug_count struct in argument from which
it retrieves everything it needs:
- details
- type
- file name
- line number
- description
- vaargs
This is done by making the common _complain() able to decode such elements
from a debug_count when presented. complain() passes a NULL there and uses
its msg, while complain_with_dbg() passes the debug_count and no msg. This
allows us to get rid of all the pre-made redundant messages and to save
70 kB of code. We're now around 136 kB under the initial size.