Music search bugfix

CDirectoryHistory::ClearSearchHistory misused vector::iterator::operator++
in conjunction with vector::erase such that it iterated beyond the end of
the vector if there was a previous music search, resulting in a segfault.
End effect: you could only do one search. Replaced with std::remove_if.
Merge pull request #3252 from bavison/music_search_bug

Music search bugfix