Add additional features to RedirectFilter to delay sending a redirect url to the HttpServletResponse

Problem:
Seam wraps transactions around the InvokeApplication phase.  If a
sendRedirect is called on the FacesContext during that phase,  the
browser will receive the redirect location BEFORE the invoke application
phase is completed (and before seam commits its transaction).
Solution:
Create a wrapper around the response object that will store the redirect
url to be sent at a later time (when the doFilter is complete)