Allow artifact_file to handle snapshot and latest version correctly (V2 !)

Hi !

I've cleaned up my previous PR and I have taken into account the comments and requests.
I successfully tested many update/upgrade/downgrade/init scenarios from Nexus.

Please test and review this work.

PS : I know some ```if``` tests may be quite long ... Perhaps it would be interesting to simplify this into a ```def```