Add interpolation code and examples

revert stuff
one more round  + restrict to EEG
address discussion
add utils
make_interpolation_matrix -> private
update whats new
revert change in example
ENH: Fix logic for searching files in bem plot
Merge pull request #1698 from mainakjas/fix_bemplot

ENH: Fix logic for searching files in bem plot
typos
allclose
Merge pull request #1696 from dengemann/interpolation

ENH: Add interpolation code and example
fix #1700
Merge pull request #1701 from dengemann/ylim_plot_topo

FIX #1700
Add more referencing options

This adds a base function 'apply_reference' that can apply various
different referencing schemes. Two convenience functions are also
added that provide a convenient interface to the base function:

 - set_eeg_reference: apply a simple reference to all EEG channels
 - set_bipolar_reference: apply a bipolar reference (or more)

A helper function `_parse_channel_list` is also added to help functions
be more flexible in how they allow channels to be specified.

Updated docs. Made inputs more strict.

This reverts adding the `_parse_channel_list` function. Channels can now
only be specified by name. Some doc tweaks are also included.
PEP8 fixes
doc fixes
Update behaviour and docs of referencing functions

The default of applying CAR has been removed. A flag is now set to
indicate the application of a custom reference. The documentation has
been updated to reflect this and warn against source modelling with an
improper reference.
Tweaking set_eeg_reference API

restored the default of `ref_channels` to be CAR.
However, CAR is now applied as a SSP.
Some helpful notes