XD-1589 support Groovy bean definition extensions
XD-1589 changes on merge
XD-1642 Fail fast admin on startup failure

- Add `AdminPortAvailablityInitializer` to check if the admin port being used is already in use
  - Throw `AdminPortNotAvailableException` if the port is in use
- Handle any `EmbeddedServletContainerException` and exit the admin server if thrown

XD-1642 Address review comments

- Add `javadoc` for the exception classes
- Update `log` to `logger`
- Remove print stacktrace on socket close