zlib.Decompress should have an attribute to tell if output is available

The current API when using max_length feels inadequate, as there is no way to know if there is more data available to decompress or not. Users must make a redundant call to .decompress() and receive b"" to know that all pending data has been decompressed.

My suggestion would be to have a simple .data_available attribute that represents this. Or, to match the zstd API, a .needs_input attribute could be added, in which case a user can check not d.needs_input and not d.eof.