refactor shared code
Open, LowPublic


During T597 most shared code was just dumped into the project root and anything needed in the binary was exported from the shared files.

So it's a bit of a mess.


  • some things no longer need to be exported
    • those that are could use some go doc friendly documentation
  • the shared options and config are spread out between the new writeas-cli/config package and some other shared files