Small fixes to input streams.

All public input streams:
  - If the stream has been closed and the function does
    something I/O related, throw an exception.
  - Don't call in.close() multiple times if close()
    is called more than once.

All raw decoders:
  - Check if the input stream is null because
    otherwise the constructor won't detect it.

LZMA2InputStream:
  - Handle presetDict == null correctly.
  - Remove "throws IOException" from constructors.

SeekableXZInputStream, SimpleInputStream:
  - Add available().

There are also related javadoc updates.
6 files changed