Adding shared pointers to MOOSE in support of multiple execute_on

refs #3446

This patch is the start of using one of the smart pointer classes in MOOSE.  For now, I've created a parallel structure in the Factory so that we can continue to create the old pointers as well as we convert many of our systems over to shared_ptrs.  This patch converts the AuxWarehouse to shared pointers without changing the external interface of that class.  This is done by keeping private shared pointers to all of the objects while maintaining the existing interface using old style pointers.  There's no reason to change the API now or in the future.  This just helps us with the cleanup which will get much harder when the rest of #3446 gets implemented.