Merge generic and Windows console modules.
Reorder merging actions.
Separate options parsing into it's own module.
Update documentation.