Cherry-pick: Differentiate between conflicts and already merged errors

When cherry-pick operation fails with "Cherry pick failed" error, there
is no way to know the reason for the failure: merge conflict or the
commit is already on the target branch.  Differentiate between these
failures and report the proper result to the client.

Change-Id: If1139e3c13623fb98a9584e4e399cfdf45fd3613
7 files changed