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?
Merge https://github.com/grocer/grocer into validate-payload-size

Conflicts:
	lib/grocer/notification.rb