Information theory and the genetic code