Duke rallies, holds on to top Wake Forest, 28-21