Adding shared pointers to MOOSE in support of multiple execute_on
refs #3446
Adding Macro to wrap type