Fix handling users with no public gist with markdown file

Due to the way taking the first user info in the list of gists as the main
user info, when the user does not have any valid gist (not public or
does not contain a Markdown file), `user` is `nil` and crashes when
trying to access `user["login"].

Also change `gist_client` to return using format `{stat, data}` whether
`stat` is `:error` or `:ok`.