Add BlockRandomAccessDiagonalMatrix. This class is used in the SchurJacobiPreconditioner for storing the preconditioner matrix. Using it speeds up the computation of the preconditioner by ~15% due to the elimination of a hash table lookup. Change-Id: Iba2b34aad0d9eb9bcb7f6e6fad16aa416aac0d2a