Allow dynamic response generator for timeouts

There are cases where we are supposed to respond back with custom
information in the response in the event of timeouts. On the other
hand we  don't want to construct the response object unless it's
actually required. This change allows us to defer response creation
until we know it is required.
Add REST endpoint to get MBean attribute value
Add AsyncSemaphore concurrent library
Expose JettyHttpClient dump methods to JMX
Set the Jetty addressResolutionTimeout
Use .invalid TLD for tests per RFC 2606

From RFC 2606 section 2:

".invalid" is intended for use in online construction of domain
names that are sure to be invalid and which it is obvious at a
glance are invalid.
Make unresolvable host test more robust
Fix intermittent test failure

ServerSocket.getLocalSocketAddress() can take over a second to run, causing testConnectTimeout() to incorrectly fail.