Issue #451 - Use AjaxCallListener#onBeforeSend() to set the new location.hash.

This way the application may make its own ModalCloseButton that operates completely on the client side by using AjaxCallListener#onPrecondition("return false;")