Hadamard Matrices and Their Applications