Add specific exceptions and handle SSH agents with no added keys

This addresses #5 and #6.