New S3-plugin features for S3 artifacts management

Hi,

Here is a pull request to add to the S3 plugin several features to allow S3 to become a more integrated repository for artifacts built by jenkins. The idea is for S3 to become a substitute of the master artifact storage area.

This pull request notably adds the following features:

* allow to upload from the slave (this is essential if like me you are
using EC2 slaves with a master outside EC2, to prevent uploading from slave to master then from master to S3).

* S3 uploaded artifacts fingerprinting (to allow finding what builds produced what artifacts)

* S3 Copy artifact build step, based on the "Copy Artifact" plugin, it allows to download an artifact from a build using the S3 publisher plugin back into the workspace. This also produces fingerprints to link jobs together.

* automatically delete artifacts in S3 from deleted jobs/builds.

* Direct S3 download links of the artifacts in the job page or build home page.

This code is in production for about one week on my work jenkins installation with great success.

Please review this changeset, I'd be happy to modify it so that it can be merged upstream.
Many thanks!

Brice