Adds better control to how headers are set

Added an `http_header_callback` which allows someone to control how and when headers are sent.