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.
Ah yes. There is one more EEG digitization point in the dataset then there are EEG channels. I'm guessing that the extra point is the location of the reference electrode, but I'm not sure. If the fallback to using digitization points for EEG channel locations is to work, the EEG digitization points should correspond exactly to the EEG channels.