> To be consistent with do_forward_solution, I think we should make it so fname=None does not output a file at all, with fname=True using the MNE default name. I like having these in one function because it seems simpler to me, more consistent with do_forward_solution, and eventually less cumbersome on users (I imagine most will just create and write as opposed to doing anything with it in Python, so making this a two-step process increases work for users), but I'm okay with changing it for clarity's sake. Let me know...

why do you think of

```
def make_source_space(subject, spacing='oct6', surface='white',
return_fname=False):
    ...
    if return_fname:
         return src, fname
    else:
         return src

def setup_source_space(subject, spacing='oct6', surface='white',
overwrite=False):
    src, fname = make_source_space(subject, spacing, surface, return_fname=True)
    return None
```

when we'll have forward modeling in memory with Python or C-bindings
we won't need
any more to store the source spaces. Basically I want to avoid disk usage.
I see around me 500GB of data for a simple 20 subjects study while it
takes 15 mins
to recompute everything. Also I want to be able to work on my laptop
with 500GB of disk space :)