Adds client nonce and SignatureStorage interface

The cnonce is not a cryptographic nonce, rather a random string used to
ensure that every signature generated is unique, even if it is generated
in the same second as other signatures making the same request. This
will help to mitigate denial of valid, otherwise identical requests
should the implementer choose to persist request signatures in order to
defend against replay attacks.

The SignatureStorage interface is a template for storing signatures in
order to defend against replay attacks.  It is only a suggested or
example implementation and not a requirement for the rest of the library
to function properly.
Adds timestamp property and accessors for testing
Replaces *DriftExceededExceptions with TimeOutOfBoundsException
Removes unused 'use' statments, updates exception message
Adds phpdoc documentation
Updates documentation
CS fixes
Updates documentation
Merge pull request #10 from jeremykendall/feature/cnonce

Adds replay prevention capability