William Brown (Halifax County)