Add a symbol __curPos that expands to the current source location

I.e. an attribute set { file = <string>; line = <int>; column = <int>; }.
Add a primop unsafeGetAttrPos to return the position of an attribute
Add a toJSON primop
Refactor JSON output
nix-env -q: Add a --json flag
Drop support for user environment manifests in ATerm format
Shorter error message
Generalise meta attributes
Check meta values and warn about bad ones