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.
What about only having `True` or `None`? I don't really see the point in having `False` at all / I don't understand the difference between that and `None`, when you'd get one vs the other and what that buys us.