Yzl/issue 18

@sethvargo 

Move upload method from Repository to Artifact; this currently does not delegate Repository#upload to Artifact#upload and so only addresses part of #18.