Use consistent Grocer::Error for all Errors

So clients have a single, and sane, constant to rescue. The only
outstanding case is the CertificateExpiredError, which is a module we
use to tag the underlying SSLError.

Perhaps @alindeman has an idea for handling that case?