Implement the site publisher component
Implement the site publisher component as defined in #74 (closed). The site publisher component should be self-contained, which means no logic or configuration should exist outside the component except for the arguments the primary function accepts. The implementation should go in the packages/site-publisher/lib
directory.
Write tests in the packages/site-publisher/test
directory to verify the behavior of the component. Specifically, the tests should verify that the component outputs the files to destination specified in the playbook. This component will allow multiple destinations, but for now the tests should focus on the filesystem and archive publishers, which will be bundled in the first alpha release.
This implementation issue can be worked on in concert with the architecture issue using an agile process. Any discoveries or decisions made that relate to the architecture should be posted back to the architecture issue. The early implementation prototypes may drive the architecture in return.