Topo plots for EEG data, even when no digitization points are present

Many EEG-only labs (including mine) don't bother with source localization and so don't mark EEG electrode locations. When plotting, relying on the approximate electrode positions reported by the cap manufacturer is good enough. In practice, this means ch['eeg_loc'] and ch['loc'] are specified, but no digitization points are present in the data. This breaks `make_eeg_layout`, which is currently very picky about which digitization points should be present. This PR makes the function a lot less picky:

 - Add flag to select which digitization points to use in
   `fit_sphere_to_headshape`. This defaults to only `FIFF.FIFFV_POINT_CARDINAL`, which was the default
   before I started messing with it in #1541. When calling the function from `make_eeg_layout`, more points
   are considered. I've noticed that Neuromag data adds `FIFF.FIFFV_POINT_EEG`, while the EDF loader adds
   `FIFF.FIFFV_POINT_EXTRA`, so it looks at both in addition to `FIFF.FIFFV_POINT_CARDINAL` landmarks.
 - Make `make_eeg_layout` still work even if no digitization points are present. Generate a warning though.
The docs are inconsistent. Is info an instance of instance of `mne.io.meas_info.Info` or is it a dict? Usually it is just noted to be a dict...