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.
> There are many types of possible EEG referencing schemes. It was decided to have convenience functions for some schemes we support (plain and simple EEG reference, and bipolar referencing).

ok so maybe 2 functions can be enough the general purpose function can
be hidden from users unless people ask for it. If we need something
later, then let's do it later. Of course you can always object :)