Fixes #3353: rust snapshot downloads to home directory
Automatically update cargo when necessary
auto merge of #3902 : mbrubeck/servo/share_directory, r=jdm

This is @acmiyaguchi's already-reviewed patch from #3388, rebased and squashed onto servo master. Fixes #3353.