Adding support for transcoding.
Refactoring to reuse commflag code.
Adding transcoding support.
Rewriting documentation to include transcoding.