refactor gem project deployment

@mguymon 

This draws heavier lines between the Bundler-specific code and the S3-uploading code.  To me, this makes them each easier to follow, and allowed stubbing more of the Bundler code.  The latter was necessary for me to be able to build the gem locally.