Fix merge conflict between commits 5640481 and 5545321
(and clean out some code that is not strictly needed)
Restructure the loop, and see about 3% speedup in run time. I believe the
speedup arises from:
    o. Remove the conditional branch in the loop
    o. Remove some indirection memory accesses:
       The memory accesses to "s->prev_length" s->strstart" cannot be promoted
       to register because the compiler is not able to disambiguate them with
       store-operation in INSERT_STRING()
    o. Convert non-countable loop to countable loop.
       I'm not sure if this change really contribute, in general, countable
       loop is lots easier to optimized than non-countable loop.

Conflicts:
	deflate.h
Fix merge conflict between commits d306c75 and 2c888ab
Minor enhancement to put_short() macro. This change saw marginal speedup
(about 0% to 3% depending on the compression level and input). I guess
the speedup likely arises from following facts:

 1) "s->pending" now is loaded once, and stored once. In the original
    implementation, it needs to be loaded and stored twice as the
    compiler isn't able to disambiguate "s->pending" and
    "s->pending_buf[]"

 2) better code generations:
   2.1) no instruction are needed for extracting two bytes from a short.
   2.2) need less registers
   2.3) stores to adjacent bytes are merged into a single store, albeit
        at the cost of penalty of potentially unaligned access.

Conflicts:
	trees.c
Fix merge conflict between commits d948170 and 32de507