Add timeout to `ssh-reagent`

There were rare cases where `ssh-reagent` would hang when trying to
connect to an invalid agent socket.

In order to prevent this, the `ssh-add -l` call is now invoked via a
`timeout` helper script so that if a interval is exceeded the script
will be killed.