nix-env -qa --json: Generate valid JSON even if there are invalid meta attrs
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.
Share code between scopedImport and import

In addition to reducing duplication, this fixes both import from
derivation and import of derivation for scopedImport
findFile: Realise the context of the path attributes