Some fixes to use on Windows.

    1. Regardless the platform '\n' is used as a line separator in the
    dump file.
    2. stdout and stdin need to be opened in binary mode to avoid weird
    convertions.
    3. Similarly files need to be open with "b" mode. "b" mode has not
    effect on Linux.
Style clean up to make the IDE happy.
Support --standard-project-layout: Add static checking if the SVN follow a standard structure

Allows detection of illegal branching and tagging operation. Especially useful to highlight the commits that will require cleaning up before importing in another source control system.
Support --drop-empty-revs
Support --clear-revs Similar to skip-revs, but keep an empty revision instead of completely skipping it.
Support --filter-paths similar to filter-content, but for path (i.e.move folders) Relax static checking

--filter-paths allows moving folders and files around.
Only cross-project file copying is checked and not every cross-version copies, which is how SVN implements merge operation.