Fix --eval output when using FISH

This commit fixes two problems with the output of "keychain --eval" when using
FISH.

Firstly, you could not run "eval (keychain --eval)" because of missing
semi-colons at the end of each line, which necessitated workarounds like 'for e
in (keychain --eval); eval "$e"; end' (you can see why with "echo (keychain
--eval)").  This is fixed by adding an appropriate ";" in the sed command.

Secondly, the use of "and" meant that, should one of the environment variables
not exist already, evaluating the --eval output would not set the variable.
This is fixed by removing the "and" from the sed command.