Exercise 3, 4 and 5a

Completed exercises 3, 4 and 5a. More work will be required on the
scoring function. 5b will be encrypting a bunch of plaintext with the
repeatXorEncrypt function.