ENH: Don't create config dir unless necessary

When reading configuration variables which can be set via environment
variables or a config file stored in ~/.mne, don't attempt to create the
config directory or file.  The ~ directory may not be writeable if the
application is run as a daemon (e.g. via uWSGI).  Any attempts to write
to the filesystem should only occur when `set_config` is called.
BUG: Fix _lead_dots breakage due to API change

Since `mne.utils._get_extra_data_path` no longer creates the config
folder when called, all modules that require the config folder to exist
(e.g. for writing) need to ensure it is created first.
Merge pull request #1167 from bburan-galenea/bburan-galenea/uwsgi-and-mne-config-file

ENH: Don't require MNE configuration file