We need to deal with two separate cases here: the color may meet the given definition of grey, or it may not.
The trouble is, we won't know if it's considered grey or not until we've examined all three colors. We'll
start by assuming that the color is grey, and then flip the isGrey flag to false if we find a red, green,
or blue value whose compliment exceeds GREY_TOLERANCE.

We start by creating the output array named compliment. Then for each value in rgb, we calculate the
corresponding compliment by subtracting the color in the current position of rgb from RGB_MAX. If the
difference between a color and its compliment exceeds GREY_TOLERANCE, then we'll set isGrey to false.

After red, green, and blue have all been evaluated, if isGrey is still true then we need to handle it according
to the instructions for a grey color. For each position in rgb, if the value is greater than or equal to 128,
we subtract 128, otherwise add 128. This value will overwrite the value in compliment[] that was stored
earlier.

Thank you for taking the time to read this solution. I welcome
any feedback you may have.