Introducing `define_chain` for sanity of error messages.

Comment in the logger invocation at line 50 in `define_chain.cpp` is
pretty accurate. Well, even Clang's preprocessor seems to fail at
solving this problem sanely, but I *really* need to investigate this
further. Probably not alone. *sigh*
This might be less broken, time will tell.