Assert that EMPTY_SWITCH_DEFAULT_CASE() cannot be reached in debug
Fix typo
Optimize int to string conversion

Probably platform depedentant, but for me snprintf is terribly
slow.

The code for the long printing is taken from the smart string
API.
Remove UB in signed printing macro

Signed->unsigned conversion and unsigned negation are well-defined
(unlike signed negation for LONG_MIN.)