Ensure server port is registered late enough with Eureka server

Because we were using Lifecycle to kick off the eureka registration the
local server port wasn't available yet. The change is to use an
ApplicationListener and listen for the event that contains the container
with its port instead.

Fixes gh-15