Adding support to override, via static_url, whether the generated URLs
should include the version signature or not.
Introduce StaticFileHandler.(get_content|set_headers) which reduces the
complexity of the HTTP GET handler of static resources.
Fixed syntax error in the altered StaticFileHandler.get() method
Move retrieval of absolute path to separate method which is also in
charge of validation.
Cache the computed absolute path to the requested resource in
StaticFileHandler. The cache is cleared on_finish of each request
in order to ensure recomputation on each request.
Expose IOStream's max_buffer_size, so we can set it in TCPServer and others.
Corrected or logic to make use of max_buffer_size if it is setted
Fix another case in which streaming read_until_close passed data to the final callback.

Closes #774.
Add an exception handler in _try_inline_read to ensure close_callback is run.

This is probably just a stopgap until some larger refactoring around
pending_callbacks, but will help with the max_buffer_size leak.
Update docs for AsyncTestCase to make @gen_test more prominent.
Add overrideable method RequestHandler.log_exception.

Most apps that currently override _handle_request_exception can now
use a combination of log_exception and write_error.

Closes #730.
Add an interface to set the TCP_NODELAY flag on an IOStream.

Use this flag from simple_httpclient (always) and httpserver (when a complete
response is available), and add an accessor for WebSocketHandler.

Also make simple_httpclient send headers and body in a single
IOStream.write call.
Clear the NODELAY flag in set_nodelay(False).
Catch and ignore EINVAL errors from setsockopt.

This seems to happen a lot in benchmark runs when sockets are closed
after a request.
Rewrite HTTPHeaders normalization to limit the growth of the cache.

Reorganize the code into a dict subclass for speed: cache hits are now
just a dict lookup, with no python function call.  (this saves about 1%
on demos/benchmark/benchmark.py on cpython 2.7)

Remove the regex-based fast path, which has not had any real impact since
we added the dict cache.
Precompile the regex used on severy set_header call.

The regex was cached by the re module, but the overhead of looking it
up in the cache added up to almost 1% of the time in benchmark.py.
Add a test that covers creation and binding of UIModules and methods.
Create UIModule proxies on demand instead of in RequestHandler init.

It would be nice to do something similar for UI methods, but it's tricker
and they are less common (there are three UIModules defined by default
for every handler).
change bind_unused_port to pass None as port

bind_unused_port was passing 0 as port number to the socket module.
This generated some exceptional behaviour on systems where nslookup of
localhost didn't returned the loopback interface.
Update httpclient.py

fix typo