ignored duplicate entries in the HistoryProvider

Currently razorqt-runner can produce duplicates in the history:
if you run the same command from the CustomCommandProvider twice, it
will be inserted into the HistoryProvider-list and the file twice.

This patch checks changes HistoryProvider::AddCommand, so that it will
search if this command already exists and it will move that entry to
the top of the list (instead of creating a new item).