DecoderControl: update API documentation
Chrono: override operator+ and operator-

Make sure we return the correct type.  This obsoletes the cast
constructor trick.
DetachedSong: use std::chrono::duration for start_ms and end_ms
db/LightSong: use std::chrono::duration for start_ms and end_ms
db/simple/Song: use std::chrono::duration for start_ms and end_ms
PlaylistEdit: pass std::chrono::duration to SetSongIdRange()
DecoderControl: use std::chrono::duration for start_ms and end_ms