Shared_Keys was a typdef'd struct containing an array of structs, this was redundant, and not the right way to do things. Shared_Keys is now a typedef'd array of struct.
Removed pointless, confusing,  duplicate variable named "index" when we already had "i".
Fixed inconsistent code styling. Also, the variable "i" was accidentally deleted in an earlier commit of mine... it has been returned.
Slightly more portable code, and it's more clear what the intention is.
Refactored function get_shared_key(). Variable "stored" in struct Shared_Keys was useless and memory-wasting since we could already check if "times_requested" = 0 to see if a variable was empty. I believe that the variable "num" in the previous code was set to 0 to indicate if "curr" had been set to the index of a key that was outdated. Instead, both of these variables were replaced with the single variable outdated_key_i that holds -1 if an outdated key has not been found, and a postitive value that is the index of the outdated key if one has been found. This code will be tested for full functionality soon.