SIFTER: Space-Efficient Value Iteration for Finite-Horizon MDPs