Changed the implementation of how the multiplesOfPrimes array is populated

1. Moved the insertion of the currentOddNumber (when found to be equal to a square) before the incrementation of indexOfPrimeToSquare. This way, the need for the subtraction in multiplesOfPrimes[indexOfPrimeToSquare - 1] is removed.

2. Moved the initialization of counter j and isPrime at the beginning of the do-while loop. Initializations are meant to be done at the beginning of a loop, not in the middle. Also, it leads to correction 3 below.

3. Added isPrime = false in the body of the if-statement that is checking whether the currentOddNumber is equal to a square. If the number is a square then it definitely is not prime. Adding the assertion of isPrime = false also saves clock cycles from not having to enter the while-loop immediately below the if-statement's body; this allows the detection of a non-prime number faster and thus speeds up the search.