Fix EEG electrode positions in EDF/BDF import.

When importing EDF/BDF files, an optional .htps file can be supplied to
provide electrode coordinates. This commit fixes the way these are
stored in the .info dictionary, so that functions such as
make_eeg_layout can use them.
Added specify_eeg_montage function.

This function greatly expands on the existing `set_eeg_reference`
function by allowing for many more common referencing schemes.

The user basically describes the entire EEG montage through this
function, which can include:

- Which channels are EEG
- Which channels are EOG
- Which reference to use (single channel, multiple channels, CAR,
  bipolar pairs)
- Channels that should be dropped (not connected)
- Channels that are bad

Some file formats include all of the above data, but many common EEG
formats (EDF/BDF) do not. Since proper referencing requires all above
meta-data, it makes sense to me to specify it in one place in your
analysis script.

Sane defaults are taken by inspecing the exising info structure.
Some more tests
Modified function name. PEP8 fixes.
Merge branch 'marijn-specify-eeg-montage' of github.com:wmvanvliet/mne-python into marijn-specify-eeg-montage

Conflicts:
	mne/io/fiff/tests/test_raw.py