Separated the Locator Service from the Locator itself.

This makes the codebase a bit more clean, as well as allows clients to
resolve Locator Service like a normal service.