Fix bug in ClientCacheHelper::ReopenClient()

In ReopenClient(), we lookup the current client in client_map_, add a
new client to client_map_ in CreateClient(), and then use the iterator
from the lookup to erase the original client. Since client_map_ was an
unordered_map, the iterator may not have been valid after adding a new
entry to client_map_ (in addition, other operations could have
occurred in different threads). To ensure the iterator remains valid,
we switch client_map_ to be a map.

Change-Id: Iafb232169f6b14ad38d3ea3349ac9ca5d21c2f00
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/5046
Reviewed-by: Henry Robinson <henry@cloudera.com>
Tested-by: jenkins
(cherry picked from commit f921f0c04329bde6b0ab8c6ed91bf736c31af01e)
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/5078
Reviewed-by: Skye Wanderman-Milne <skye@cloudera.com>