`bst workspace list` crashes in bad directory

To reproduce:

  • create a new workspace
  • cd into it
  • run bst workspace list
➜  gedit git:(d21912e3e) bst workspace list                                
Traceback (most recent call last):
  File "/home/ben/.local/lib/python3.6/site-packages/buildstream/_yaml.py", line 200, in load
    with open(filename) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/ben/bst/gedit/project.conf'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ben/.local/bin/bst", line 11, in <module>
    load_entry_point('BuildStream==0.1.dev1133+gbb215e8', 'console_scripts', 'bst')()
  File "/home/ben/.local/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/ben/.local/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/ben/.local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ben/.local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ben/.local/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/ben/.local/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/ben/.local/lib/python3.6/site-packages/click/decorators.py", line 27, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/home/ben/.local/lib/python3.6/site-packages/buildstream/_frontend/main.py", line 531, in workspace_list
    app.target_arch)
  File "/home/ben/.local/lib/python3.6/site-packages/buildstream/project.py", line 87, in __init__
    self._unresolved_config = self._load_first_half()
  File "/home/ben/.local/lib/python3.6/site-packages/buildstream/project.py", line 138, in _load_first_half
    project_conf = _yaml.load(projectfile)
  File "/home/ben/.local/lib/python3.6/site-packages/buildstream/_yaml.py", line 204, in load
    "Could not find file at %s" % filename) from e
buildstream.exceptions.LoadError: Could not find file at /home/ben/bst/gedit/project.conf