Improved javadoc portability of makefile.

* Added guard to patching Javadoc so that it will not be attempted for
  Javadoc content without the bug, i.e. Javadoc versions prior to 7.
  Tested with javadoc 1.6.0.
Separated out Java compiler options in makefile.
Sketched Java main.  ROC basics work.

* Sketched main for Java application.  Allows scores and labels to be
  specified together or separately.  Includes basic options.  Prints
  basic ROC report.
* Created a naive CSV reader for reading delimited text inputs to the
  application.
* Added application build instructions to makefile.
Wrote help for Java main.

* There are likely better ways to do the help text but this quickly gets
  things off the ground.  See the comments.
* Added idea about report class for performing output.
Added debug option to Java main.

* Debug option prints stack traces for exceptions.
* Updated copyright year.
* Corrected default exit status.
Fixed crash in Java main when providing only labels.

* Providing ranked labels by themselves was forgotten and not completely
  implemented; led to NPE (which motivated the debugging option).
* Fixed code to handle labels-only input by adding curve construction
  for ranked labels.
Added options for file names.

* Options for file names allow specification of the columns of interest
  in files (keys, scores, labels).
* Options are parsed and checked but are currently ignored during
  processing.  They will not work until they are incorporated into
  improved file processing.
* Added function to parse and handle file options.  Parsing is via
  regular expressions.
* Added FileArgument which wraps a file name and its options.
* Wrote help for file options with examples.
* Updated copyright year in about string.
Created code for projecting and joining CSVs.

* Created code for projecting and (natural/inner) merge joining CSVs.
* Created tests for new CSV processing code.
* Updated makefile with dependencies for new files.
Changed sorting code to work with Javas prior to 8.
Documented CsvProcessing.

* Removed old import.
Implemented joining of input CSVs in Main.

* Added Main API functions for building curves from CSVs in various
  ways.
* Added ability for Main to join input CSVs by reworking core processing
  to use above new API.
* Created tests for Main API.
* Changed iterators to iterables.
* Updated dependencies in makefile, including adding a
  previously-missing dependency.
* Fixed a few spelling and cosmetic things with comments, wrapping.
* Removed all old/obsolete code.  Unfortunately, this makes the diff
  messy.
Streamlined reading CSV inputs in Main.

* Created function for reading CSV input from a named file or the given
  input as specified.
* Eliminated repeated file input code.
* Removed function for opening a named file or using the given input.
* Removed function for checking empty input.
Revised command line to use standard instead of custom syntax.

* Removed custom, JSON-like syntax for specifying columns for (compound)
  keys, scores, and labels in favor of standard-syntax options for each
  piece of information.

* Added options --scores-key, --scores-column, --labels-key,
  --labels-column and updated command line parsing.  The strategy is to
  parse everything by type and check as much up front as possible while
  preserving original command line values.  The command line values are
  then converted to appropriate types later when needed, knowing they
  have already been checked.  Converted environment to just string
  values accordingly.

* Renamed option name strings to *OptName instead of *Key as "key" was
  getting overloaded.

* Rewrote help to explain new options and better describe modes of input
  and operation.  Rewrote CLI examples for new syntax.

* Converted main to object with IO instead of merely static functions.
  Allows better handling of IO and simpifies interface: just call "run"
  with command line arguments.

* Removed obsolete FileArgument class, parseFileNameWithOptions and
  related patterns.

* Added patterns/functions for checking/parsing integers and lists of
  integers.

* Split responsibilities of reading CSV input and opening files into
  separate functions.

* Added newlines for readability.

* Updated MainTest accordingly, particularly for new command line
  syntax, Main now being object-oriented, and new names.  Revised
  construction of main and IO.
Renamed Main.MainException -> Main.Exception.

* Moved static main stuff up to be closer to other static main stuff and
  ahead of object stuff and API stuff.
Added command line option for positive label.

* Added '--positive' option for specifying positive label and
  appropriate parsing and processing.
* Added function for getting a value or a default from a map, like what
  exists in Java 1.8.  Simplifies getting positive label from
  environment.
* Added test for positive label option.
* Cleaned up some out-of-date comments.
* Updated TODOs.
Wrote help for positive label option.
Implemented reporting options.

* Added --report <report> --to <file> options for specifying what
  reports to do and where the output should go.  The options can be used
  for requesting multiple reports to multiple outputs.
* Added class to handle reports.  Moved existing YAML report to new
  class.
* Changed main environment to handle lists of option arguments (needed
  for multiple reports).
* Added convenience methods (putList, getLast) for writing and reading
  the environment list values.  Switched all environment access to this
  new approach.
* Added convenience method for opening output.
* Added report for only ROC points.
* Wrote help for new options.
* Added test for new reporting options.
* Updated dependencies in makefile.
* Considered names of reports and how to design reporting for presenting
  information in various formats.
Improved help.

* Broke help into information, input, and output sections.
* Updated option argument placeholders to indicate types.
* Added quotes when referring to syntax.
* Simplified defaulting of '--scores-column' and '--labels-column'.
  Moved same column check to after setting defaults.
* Revised descriptions of '--scores-column' and '--labels-column'
  including simplified defaults.
* Added uppercase to report names to ease reading.
Added bounds check for column indices.
Added precision-recall points report.

* Added 'prPts' report that prints the points of the
  precision-recall curve.
* Added PR area and points to the YAML report.