Adds CALLBACK_0, CALLBACK_1 and CALLBACK_2

Handy macros for callbacks.
Instead of:
	std::bind(func_ptr, instnace, std::placeholder::_1)
you use:
	CALLBACK_1(func_ptr, instance)

And also removes more warnings from the tests
Merge pull request #2875 from ricardoquesada/CALLBACK_macro_for_callbacks

Adds CALLBACK_0, CALLBACK_1 and CALLBACK_2