Fixed InfrahubNode.download_file(skip_if_unchanged=True) silently returning 0 bytes-written on nodes that had never been saved. Previously, if the local file at dest happened to have the same SHA-1 as whatever was cached on the unsaved node's checksum.value, callers got back a success-looking 0 result instead of a clear failure — which could mask the fact that the node had no server counterpart at all. Calling download_file on an unsaved node now raises ValueError consistently, whether or not skip_if_unchanged is set.