Sparse and spurious: dictionary learning with noise and outliers