nl: Start nl algorithm.

* src/dctc/java/com/dataiku/dctc/command/cat/AlgorithmType.java: Add
  the algorithm type.
* src/dctc/java/com/dataiku/dctc/command/cat/CatAlgorithmFactory.java:
  Build the algorithm object.
* src/dctc/java/com/dataiku/dctc/command/cat/NlCatLineSelector.java:
  New line selector. Select non-empty line, else print an empty line.
nl: New algorithm.

* src/dctc/java/com/dataiku/dctc/command/Nl.java: Here.
* src/dctc/java/com/dataiku/dctc/Main.java: Add nl to the command
  list.

* News.txt: Update the news.txt.
Don't segfault when we ask for a command help.

* src/dctc/java/com/dataiku/dctc/Main.java: Set the exit code object.
cat: Hide internal interfaces.

* src/dctc/java/com/dataiku/dctc/command/cat/CatHeader.java,
  src/dctc/java/com/dataiku/dctc/command/cat/CatLineSelector.java,
  src/dctc/java/com/dataiku/dctc/command/cat/CatPrinter.java,
  src/dctc/java/com/dataiku/dctc/command/cat/CatStop.java,
  src/dctc/java/com/dataiku/dctc/command/cat/EOLCatPrinter.java: These
  ones.
list-files-command: Delete useless logger.

* src/dctc/java/com/dataiku/dctc/command/abs/ListFilesCommand.java:
  Don't use, delete it.
cat: Specialize cat header when linum.

* src/dctc/java/com/dataiku/dctc/command/cat/LinumCatHeader.java: Make
  it abstract.
* src/dctc/java/com/dataiku/dctc/command/cat/LeftLinumCatHeader.java:
  The default implementation is the cat style.
* src/dctc/java/com/dataiku/dctc/command/cat/CatAlgorithmFactory.java:
  Adjust.
cat: New style (right, full) cat header when linum are enable.

* src/dctc/java/com/dataiku/dctc/command/cat/FullLinumCatHeader.java,
  src/dctc/java/com/dataiku/dctc/command/cat/RightLinumCatHeader.java:
  Here.
cat: Add management of custom step between line number.

* src/dctc/java/com/dataiku/dctc/command/cat/CatAlgorithmFactory.java:
  Here (mainly for nl).
nl: Manage custom line numbering step.

* src/dctc/java/com/dataiku/dctc/command/Nl.java: With -i.
cat: New indent function for linum cat header.

* src/dctc/java/com/dataiku/dctc/command/cat/LeftLinumCatHeader.java,
  src/dctc/java/com/dataiku/dctc/command/cat/LinumCatHeader.java,
  src/dctc/java/com/dataiku/dctc/command/cat/RightLinumCatHeader.java:
  Here, and adjust.

* src/dctc/java/com/dataiku/dctc/command/cat/FullLinumCatHeader.java:
  Unused delete it.
nl: Add the management of the line increment, indent separator and the indent size.

* src/dctc/java/com/dataiku/dctc/command/cat/CatAlgorithmFactory.java:
  Here.

* src/dctc/java/com/dataiku/dctc/command/Nl.java: Add the new option
  to the command.
nl: New options starting (-v).

* src/dctc/java/com/dataiku/dctc/command/cat/CatAlgorithmFactory.java,
  src/dctc/java/com/dataiku/dctc/command/cat/LinumCatHeader.java:
  Implementation. Don't initialize by default the starting line
  numbering. Set it via the factory.
* src/dctc/java/com/dataiku/dctc/command/Nl.java: Add the option and
  build correctly the object.
nl: Correct the option of the command.

* src/dctc/java/com/dataiku/dctc/command/Nl.java: Short option and
  long one was swapped.
style: Update.

* src/dctc/java/com/dataiku/dctc/command/Nl.java: Fill to 80 columns.
style: Update.

* src/dctc/java/com/dataiku/dctc/command/cat/CatAlgorithmFactory.java:
  Here.
New command line option parser.

* src/dctc/java/com/dataiku/dctc/clo/ShortOption.java
  src/dctc/java/com/dataiku/dctc/clo/Parser.java
  src/dctc/java/com/dataiku/dctc/clo/Options.java
  src/dctc/java/com/dataiku/dctc/clo/Option.java
  src/dctc/java/com/dataiku/dctc/clo/LongOption.java: Parser,
  {short,long}Options storage. Need a pretty printer for the usage.
Use the new command line parser.

* src/dctc/java/com/dataiku/dctc/GlobalConstants.java,
  src/dctc/java/com/dataiku/dctc/command/AddAccount.java,
  src/dctc/java/com/dataiku/dctc/command/Alias.java,
  src/dctc/java/com/dataiku/dctc/command/Cat.java,
  src/dctc/java/com/dataiku/dctc/command/Cmp.java,
  src/dctc/java/com/dataiku/dctc/command/Cp.java,
  src/dctc/java/com/dataiku/dctc/command/Dispatch.java,
  src/dctc/java/com/dataiku/dctc/command/Du.java,
  src/dctc/java/com/dataiku/dctc/command/Edit.java,
  src/dctc/java/com/dataiku/dctc/command/Find.java,
  src/dctc/java/com/dataiku/dctc/command/Grep.java,
  src/dctc/java/com/dataiku/dctc/command/Head.java,
  src/dctc/java/com/dataiku/dctc/command/ListColumns.java,
  src/dctc/java/com/dataiku/dctc/command/Ls.java,
  src/dctc/java/com/dataiku/dctc/command/Mkdir.java,
  src/dctc/java/com/dataiku/dctc/command/Mv.java,
  src/dctc/java/com/dataiku/dctc/command/Nl.java,
  src/dctc/java/com/dataiku/dctc/command/Rm.java,
  src/dctc/java/com/dataiku/dctc/command/Rmdir.java,
  src/dctc/java/com/dataiku/dctc/command/Sync.java,
  src/dctc/java/com/dataiku/dctc/command/Tail.java,
  src/dctc/java/com/dataiku/dctc/command/Version.java: Adjust.
Update the indented writer, to manage if the current printed line is
not empty.

* src/core/java/com/dataiku/dip/utils/IndentedWriter.java: Manage it
  for usage.
usage: Usage printer.

* src/dctc/java/com/dataiku/dctc/clo/Usage.java: Here.
usage: Print the usage using the new printer.

* src/dctc/java/com/dataiku/dctc/command/abs/Command.java: Here.