Completely rewrite command line file processing
Completely rewrite command line file processing

Implements and closes #44. You can now use
    ceylon run ceylon.formatter source source-gen test-source
to format multiple source directories in one command (takes 12 seconds
by the way, see #34). To redirect the files, you can use
    ceylon run ceylon.formatter source --and source-gen --and test-source --to formatted
which will create a structure like this:
    formatted/
        source/
        source-gen/
        test-source/
If you use --to with only one source directory, the parent directory is
omitted:
    ceylon run ceylon.formatter source --to source-formatted
results in
    source-formatted/
        ceylon/
            formatter/…
instead of
    source-formatted/
        source/
            ceylon/
                formatter/…

This is also probably the first time that I really got to appreciate how
Ceylon’s strict type system forces me to handle all eventualities. It
was a bit annoying to write, but now I’m fairly confident that I really
handle all possible bad command lines (“--and --and --to”) or file
layouts (directories missing, files instead of directories, etc.).

HenningB/ceylon.formatter