Deterministic Distributed Algorithms For Hitting And Dominating Sets, Spanners, And Network Decomposition