*.annot I/O

This includes

 - [ ] The API change renaming *.annot I/O function: are `read_annot()` and `write_annot()` ok?
 - [x] `read_annot()` and `write_annot()` don't out-/input color separately from labels. If users want to manually modify label colors, a `Label.set_color()` method might be useful, allowing as input any matplotlib color.
 - [x] RF `write_annot()` to check the labels before writing anything to disk
 - [x] add additional exceptions to `write_annot()` for overlapping labels and labels with identical color values
 - [ ] Based on the output of `mris_surf2surf` it appears that a *.annot file should not contain unlabeled vertices. Should I add a filler label (e.g. "unknown-lh") if that is the case?