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.
It's the difference between "no" and "don't know". But since in the case we don't know, we would assume "no", they are indeed equal. Ok, let's drop one of them then.

But please, lets use `True` / `False` and not store the flag when `False`. It's far more elegant to have `None` be an invalid value for the flag than `False` to be invalid. In the end they both evaluate to the same, but it's the principle :)