Cleaned up and commented FirstMissingInt