Support env file

Replaces #481 and #479 addressing the issues raised in those tickets.
I think using `self.options` here would mean that `override_options` is missed. I guess this doesn't technically break anything right now, but I don't think the way the `-e` param is implemented for `fig run` is correct, and this would make it harder to fix (it should be using override_options instead of setting service.options).

We may also want to add a command line arg for `--env-file` at some point.

Could you make this take a param of options instead? This would also have a nice side benefit that `self` would be  unused, and the method could be moved off the class to just a module level helper.