More better exceptions hierarchy for config_t.

Now the exceptions contain not only the error message, but some related information too. This allows to handle them programmatically.
Error message formatting moved to the exception constructor, so now it's not necessary to generate all exceptions in the to() method. Getting underlying object's size via config_t::to() method was really weird.