Redefine Exit* macros as variadic macros

Variadic macros take the hassle out of using specific macros and make it easier to change error strings later without forgetting to use the right macro.