First try at fixing issue numbers
made io exception more uniform
Fixes #9 and #7

I meant to do this in 2 commits, but they blurred together.
In lines 220-230, rather than fetch the whole file to get the sha, we
only need to list the directory contents and pluck the sha from there.
This is more stable when pdfs get larger than 1MB.

Also, rather than submitting an issue and getting the starting number
from there, we simply poll to see how many issues currently exist (lines
190 - 200).  I learned getIssues() [no args] returns all issues you are
assigned to, which isn't helpful, so the prefs and the repo are needed.

Finally, I removed lots of argument passing and made fields instead.
This should help readability.