Add Retrieval Worker to check for new messages
Add GeoLocator service to retrieve lat and long for a given ip
Add Messages::Outbound and Messages::Inbound to handle parsing of messages
Add Micro::GeoLocator::GeocoderData value object and move the default attributes logic from Messages::Outbound
Add Micro::OutboundMessageSender to send outbound processed messages
Remove some unneeded code from RetrievalWorker
Remove default attributes logic from Messages::Outbound
Add proper handling of parsing errors for json messages
Add proper inbound invalid message handling for Micro::GeoLocator service
Add Messages::Outbound#to_json method to handle proper coercion of value object
Add Micro::OutbountMessageSaver service to save into the cache
Add proper call from the worker to the outbound message saver service
Add shoryuken.yml to gitignore
Add a shoryuken.yml.example to be configure by the new client
Add dotenv for handling global variable configurations
Refactor gelocated ip cache to handle properly the cache, rename methods to be more explicit about intent
Refactor geo locator service to use the cache and not hit the backend service that much
Refactor the sender message service to use another queue and not the same as the one for receiving messages