Make Slurm_Showq::uid_to_string() use a cache

Currently the Slurm_Showq::uid_to_string() function calls getpwuid()
for every lookup, and loops through all jobs multiple times.

Instead we use a std::map to build a cache that maps user IDs to users.