Return non-zero exit status when gatherkeys fails

http://tracker.ceph.com/issues/10043

Raise an exception that causes an exit code of 1 to be returned when a call to gatherkeys fails.

I have one concern with the way I implemented this -- the command itself seems to be able to handle being given a list of monitors to check.  However, with this change, the command will abort/exit as soon as a single keyring file is not found.  It's unclear to me whether that's the way it should be.  I had explained my reasoning in the tracker, but now I'm not so sure.

I could instead have the exception be thrown at the very end only if the keys couldn't be found anywhere.  I took the approach I did because i thought it would be an error if any monitor did not have any the required keyring files.
They are intentional. I changed this from a '....%s'  % () call to a "...{name}.format(name=...) format, to be consistent with the others.  Mostly so i could call out the cluster name for explicitly.

However, the side effect of that is that the "hostname" parameter does not get filled in here, it gets filled in during the call to fetch_file()...  I needed to actually pass a string with the literal entry of {hostname}, and that is done with double quotes.

Hopefully that is not *more* confusing.  =)