Print a warning when loading a large path into memory

I.e. if you have a derivation with

  src = ./huge-directory;

you'll get a warning that this is not a good idea.
Report daemon OOM better

When copying a large path causes the daemon to run out of memory, you
now get:

  error: Nix daemon out of memory

instead of:

  error: writing to file: Broken pipe
== operator: Ignore string context

There really is no case I can think of where taking the context into
account is useful. Mostly it's just very inconvenient.