Fail notifications if the payload byte size is > 256
Refactor error handling

  - rename Grocer::InvalidPayloadError to Grocer::PayloadTooLargeError
  - pull to checking for too large a payload into its own constants and
    methods.  payload_too_large? is public so clients can perform their
    own validation instead of using exception handling
  - similar cleanup in the tests and new tests for payload_too_large?
Clean up whitespace and remove shared examples

  - remove trailing whitespace
  - remove shared examples from payload size tests
Move error into grocer module with the rest
Trim down specs to only test simple conditions

We don't really need to test the happy path or the specific UTF-8
versions of when a payload is too large because the happy path is tested
in other specs and the UTF-8 issue is really just testing the `bytesize`
method. Also we don't really need to expose the `payload_to_large?`
method so I made that private and removed the tests.
Merge branch 'validate-payload-size'

Thanks again @johnnaegle