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.
Good point. I've been thinking over different scenario's. Maybe this would be the best approach:

   * `True` Custom ref applied, flag is saved
   * `False` CAR or no ref applied, flag is saved
   * `None` Flag was not present in file. Reference is unknown, assumed CAR. Flag is not saved