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.
this is not a good idea. funky things can and will happen with mutable default parameters (google python mutable defaults). The pattern we're using in such cases is default to None and substitute for the value. Also in this case there does not seem to be a reason to use a list. A tuple would be more appropriate. A tuple with one value will howeve not look that nice in a default parameter. So None as default and the tuple for substitution.