Use `git archive` to create release

This commit replaces `checkout` with `archive`, allowing files and
folder to be excluded by include a `.gitattributes` file in the repo:

    features/ export-ignore
    spec/     export-ignore

This provides `copy_exclude` behaviour discussed in #515