Transparent save of cross-device links
Transparent save of cross-device links

When saving to a file, we first write to a file with extension .augnew and
then rename that file to the actual file. This fails when the original is a
symlink to a file on another device.

We now write the .augnew file next to the canonicalized original file to
avoid that headache. There are still situations where the rename fails,
e.g. when the original file is bindmounted - in that situation, we have to
copy.

dafugg/augeas,lutter/augeas,GeoffWilliams/augeas,mchf/augeas,jasperla/augeas,hercules-team/augeas-do-not-use,manandbytes/augeas,mlichvar/augeas,raphink/augeas,hercules-team/augeas-do-not-use,jtopjian/augeas,MikaelSmith/augeas,kumy/augeas,ptoscano/augeas,hercules-team/augeas,GeoffWilliams/augeas,domcleal/augeas,dafugg/augeas,bkearney/augeas,jjlin/augeas,lutter/augeas,bkearney/augeas,kumy/augeas,raphink/augeas,pevalme/augeas,domcleal/augeas,domcleal/augeas,ptoscano/augeas,jjlin/augeas,kumy/augeas,hercules-team/augeas,bkearney/augeas,kumy/augeas,pevalme/augeas,bkearney/augeas,mchf/augeas,ptoscano/augeas,manandbytes/augeas,kunkku/augeas,dafugg/augeas,kunkku/augeas,jtopjian/augeas,jasperla/augeas,mlichvar/augeas,jjlin/augeas,MikaelSmith/augeas,mlichvar/augeas,kunkku/augeas,pevalme/augeas,hercules-team/augeas-do-not-use,lutter/augeas