Updates behavior to drop the headers if user_agent is set to the empty string and to allow overriding the Server header from the validate function. Updates docs and adds a number of tests