Check if pickmes are already merged into master, and if so ignore them

Checking pickmes that are already merged into master would result in a conflict-master tag, since there would be nothing to commit. 

Before conflict checking a pickme against master, check if it is in master. If so, break.
Before checking a pickme against a second pickme, check the second pickme is not in master.

To hopefully avoid running rev-list more than is necessary, do very basic caching of SHAs that are known to be in master.
This doesn't seem to be a cache expiry. If the master branch has more than 1000 commits, wouldn't it always clear the cache then?