Filled out a few pending tests.
Removed the empty seahorse xml parser.
Added an empty plugin for retrying errors.
Added an error inspector that the retry plugin can use to determine what errors are safe to retry.
Added ErrorInspector#checksum_error? support.
ErrorInspector now identifies throttling errors, checksum errors, networking errors and server errors.
ErrorInspector now identifies S3 RequestTimeout errors as networking errors.
Fleshed out the retry errors plugin more.
Small update to the README.

Clarified the difference/name between this project and v1.
Removed an empty spec file for a non-existant class.
Filled out the unit tests for the RetryErrors plugin.
Configuration now accepts options as procs.

Previously all procs were resolved when the configuration
was finalized.  Now this happens only if the proc was given
as a block argument.

  # a dynamic option
  config.add_option(:foobar) { |config| config.foo + 'bar' }

  # config.proc_option returns the given proc
  config.add_option(:proc_option, lambda { ... } )
Finished up the retry errors plugin.

A few of the final changes:
* Renamed :max_retries config option to :retry_limit
* Added a :retry_backoff option that allows custom easing
* Renamed RequestContext#retry_count to #retries
* Plugin now registers the handler, first thing during the sign step
Added a dynamodb extended retries plugin.
Updated APIs to include the retry errors plugin.
Resolved a thread-safety issue with how operations are lazy loaded.

Additionally renamed LazyOperationsHash to Operations.  It is not longer
a hash, rather it provides #a to_h method if you require a hash.