Incorporate review feedback and other improvements.

- remove final and reuse builder
- use Timestamp provider instead of System.currentTimeMillis
- use DateService for parsing the date header
- use QueryParser for parsing the query string
- use TimeUnit.MILLISECONDS for millisecond conversion
- added expect tests for AWSS3BlobRequestSigner