William S. Caveness (Moore County)