Refactored archive.

The split between an archive and a deploy was unclear and led to internal state leaking out.

An archive now knows how to upload itself to S3 and whether this is necessary. This behaviour is now unit tested.

No need for a new gem version for this, but since we decided not to add blue-green support it seemed a shame to waste this refactoring and it should make life easier for anyone making changes in the future.