Block Low-Rank Preconditioner with Shared Basis for Stochastic Optimization