Handle EOFError in getpass, and don't send notification email to blank email.

* It appears on OS X ctrl+c will not terminate getpass, thus the only way to break
  out of the loop is to close the input stream (via ctrl+d). This addition properly
  exits the program when the input stream is closed.
* Do not attempt to send an email when the email field is not set.
Merge pull request #1 from bboe/eof_no_notification

Handle EOFError in getpass, and don't send notification email to blank email.
Don't immediately retry when class is not found.

My use case is I want to get notified when a class becomes available (it
currently is not yet). It does not seem nice to spam gold for the same request
over and over again.