Add ZLIB_OR_NONE support to JdkZlibDecoder [#2016]

This is my take on #2016.

I am detecting if a stream is a zlib stream by looking at its first two bytes. Obviously this heuristic is not perfect as such a 'valid' byte combination may also appear in a normal DEFLATE stream ... this is however quite unlikely.

According to the spec (http://tools.ietf.org/html/rfc1950#section-2.2), the first byte of a ZLIB stream is 0x78 (7 means that the sliding window size is 32KB and 8 stands for the DEFLATE algorithm). The second byte contains some more information which I am not running any checks on, however I use it to ensure that "... when viewed as a 16-bit unsigned integer stored in MSB order (CMF*256 + FLG) is a multiple of 31." There shouldn't be any trouble with signed short overflow as the theoretically biggest possible short value 0x78FF (of the first two bytes) is still in the range of a 16-bit signed integer.