Finishes TimezoneRetrievalService

Timezone object exposes name and UTC offset.
Coordinates object collects data-clump of lat/lng.
LastSignInIP object handles getting IP and its graceful null.
We are using value objects because they expose the domain logic more explicitly.