CDK-332: Deprecate DatasetReader#open and DatasetWriter#open.

This deprecates the reader and writer open methods so that users know
not to use them the design of the readers and writers remains the same,
with an initialization step. But, the initialization is done in an SPI
method, initialize, that is called after the reader or writer is
constructed, but before it is returned from newReader or newWriter.

The code has been moved to the new method by adding open to the
AbstractDatasetReader and a new AbstractDatasetWriter that logs a
warning that the call is no longer required. Tests that called log have
been migrated by either replacing the open call with a call to
initialize, or by removing the call to open. The first case is used
whenever the test instantiates the reader (or writer) itself, as in
TestCSVFileReader, and the latter is used when the reader comes from a
dataset or view.

Some helper methods expected an unopened reader either from newReader or
instantiated directly. These methods now check if the reader is open
and will call initialize if needed.
Closeables.closeQuietly is deprecated in Guava 14 so we should avoid using it. See https://code.google.com/p/guava-libraries/issues/detail?id=1118&can=1&q=closeQuietly&sort=id%20-owner&colspec=ID%20Type%20Status%20Milestone%20Summary

We could just call `Closeables.close(reader, false)` so the IOException is never swallowed, then if we declare the test method to throw IOException we will fail the test if this condition ever happens.