BAC-2718 : Update gem to accept custom service name and timestamp

## Features
- Use custom name service
- Use specific access_key_id, secret_key and region
- Use timestamp instead of date (to use same date everywhere)
- Improve debug mode
- Add some comments

## Jira
https://ifeelgoods.atlassian.net/browse/BAC-2718
Why are you changing from a "config" object to specific arguments? Passing a config object allows the method signature to remain stable if you need to add another config parameter in the future. The way the code was, was good enough. Did you have a motivation in mind?