Add ability to pass both the parser and userdata into a macro handler
Add ability to pass both the parser and userdata into a macro handler

*  ***WARNING*** C++ API macro handler userdata access change:
   *  This will break previously written code that uses this functionality with C++
*  Created ucl::Ucl::macro_userdata_s struct for quick access to both the parser and the user provided void pointer.
*  Combine parser and user provided void pointer in ucl::Ucl::parse() config_func when passing as macro userdata.

allanjude/libucl,vstakhov/libucl,vstakhov/libucl,allanjude/libucl,allanjude/libucl,allanjude/libucl,allanjude/libucl,vstakhov/libucl,vstakhov/libucl,vstakhov/libucl