add HELP command and minor changes

Minor changes:
Now the program generates unique file names while saving wave-files by
adding numeric indexes at the end of a name.
Refactoring:
1. PlayWaveFile, PlaySystemBeeper, GenerateSongFile and
SaveGeneratedSongToFile were extracted from StartPlay method.
2. StartPlay was turned into the anonymous method for PlayPiece.
3. PlayPiece method was rewritten using anonymous method for the melody
playback thread.