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
I was thinking this would be more readable. 
But you're right, let's keep the old way to pass config args. 
Finally, this will stay compatible with the forked version.