Handle upgrade data in the java parser.

Note, this requires a patch to http-parser.java which is available
at: https://github.com/a2800276/http-parser.java/pull/1

Signed-off-by: Aman Gupta <aman@tmm1.net>
bump upstream sources
Remove trailing whitespace
Upgrade java http parser to fix upgrade errors
Bump version to 0.5.2
gempackagetask is deprecated
Ignore other macros when generating fixtures
Fix some compiler warnings
Revert "gempackagetask is deprecated"

This reverts commit 8b8a7325da624f60a8a75170bb392d12ab3d7427.
:reset support for on_headers_complete to deal with responses which have
no body (ex HEAD)

this is a documented feature in the parser, but missing in the ruby wrapper:
https://github.com/joyent/http-parser/blob/c0ecab0516147401b5fd02a2272ebfb5dce8deb4/http_parser.h#L74-78
Merge pull request #10 from igrigorik/master

reset support for requests with no body
ry/http-parser -> joyent/http-parser
v0.5.3
There seems to be change in the API
Merge pull request #11 from marekjelen/master

Headers are passed as a parameter
Perf optimizations for JRuby ext.

* Use RubyString.cat(byte[]) rather than concat(newString(new String(data)))
* Use byte[] instead of String for current header
* Pre-allocate control symbols and compare directly
* Initialize empty strings with 10 byte buffer
* Use respondsTo() instead of respond_to_p
* Wrap incoming content directly rather than making a copy

More could be done; the changes above largely reduce allocation
rates, and remaining allocations are heavy in byte[] and ByteList.
The fetchData method in particular is creating many throwaway byte[]
that could potentially be copied directly from the ByteBuffer into
a target string.

Numbers are improved nicely with this set of fixes, though.

Before (modified bench/thin.rb to skip thin and loop):

Rehearsal ------------------------------------------------
http-parser:   1.635000   0.000000   1.635000 (  1.635000)
--------------------------------------- total: 1.635000sec

                   user     system      total        real
http-parser:   0.702000   0.000000   0.702000 (  0.702000)
Rehearsal ------------------------------------------------
http-parser:   0.662000   0.000000   0.662000 (  0.661000)
--------------------------------------- total: 0.662000sec

                   user     system      total        real
http-parser:   0.659000   0.000000   0.659000 (  0.659000)

After:

Rehearsal ------------------------------------------------
http-parser:   1.395000   0.000000   1.395000 (  1.395000)
--------------------------------------- total: 1.395000sec

                   user     system      total        real
http-parser:   0.552000   0.000000   0.552000 (  0.552000)
Rehearsal ------------------------------------------------
http-parser:   0.509000   0.000000   0.509000 (  0.510000)
--------------------------------------- total: 0.509000sec

                   user     system      total        real
http-parser:   0.511000   0.000000   0.511000 (  0.511000)
Merge pull request #14 from headius/perf_optz

Perf optimizations for JRuby ext.
require "stringio"

This benchmark won't run on Ruby 1.9.3 without it
Standalone benchmark with benchmark_suite

Thin's parser doesn't work on JRuby so the thin.rb benchmark comparison
won't even run there.

This is a standalone benchmark that uses Evan Phoenix's benchmark_suite
and benchmarks the speed of parsing a HTTP request taken from Chrome.
Syntax highlighting fixups