/*
 * Closes this writer for further use. The remaining data is compressed and
 * flushed.
 *
 * If the writer was constructed with an io object, that object is returned.
 * Otherwise, the actual compressed data is returned
 *
 *    writer = Bzip2::Writer.new File.open('path', 'w')
 *    writer << 'a'
 *    writer.close # => #<File:path>
 *
 *    writer = Bzip2::Writer.new
 *    writer << 'a'
 *    writer.close # => "BZh91AY&SY...
 */
static VALUE bz_writer_close(VALUE obj) {