KIJIREPO-16. Interface and implementation around artifact uploading.

To support the artifact packaging process, the artifact itself must be uploaded
to a storage layer. Currently this is implemented concretely using maven's
deploy-file functionality which supports multiple transport layers (hence
storage backends), security and a simple, clean file structure layout.

Reviewer: lsheng