nix-direnv: make flakes support optional
nix-direnv: make flakes support optional

`nix-direnv` depends on `nixUnstable` for flakes support, but that
causes it to print a warning unless your user is trusted or the
`experimental-features` setting is enabled. Neither of these are
desirable (note that setting `experimental-features` in nix.conf causes
warnings on `nixStable`).

Since flakes are experimental, this commit makes `nixStable` the default
and optionally allows `nixUnstable` with a new flag `enableFlakes`,
prioritising a good experience for users not using experimental
features.

NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs,NixOS/nixpkgs