Added Comments and Split Function into 2.

Added comments throughout the file. Added the function
"setWavFileToNotValid" to indicate when a WAV file has failed to
initialize and is not a valid WAV file. The getter function
"hasValidWavFile" is completed and so I deleted the "TO-DO" comments for
it. Split the "createWavFileAndInjectMessage" into two different
operations: 1) create a copy of the WAV file into a separate JWav
object, and 2) have the copied JWav object inject the encrypted message
by calling the newly created function "injectEncryptedMessage".
Added Comments, Variables, Functions

Added comments throughout the file. Added a copy constructor. Added
variables and functions that will check if the WAV file is valid, and if
the WAV file contains an injected message. Added "displayWavFileInfo"
function to display useful information about the WAV file for debug
purposes. Split the job of "createWavFileAndInjectMessage" function in 2
where the copy constructor and the new function "injectEncryptedMessage"
will replace "createWavFileAndInjectMessage". Added validation code to
the "play" and "stop" functions. Added code to "play" function where the
audio file will be able to replay from the beginning of the file when
the file ends and the user clicks the play button again.