Kanerva++: extending The Kanerva Machine with differentiable, locally block allocated latent memory