Fix for JENKINS-16617, JENKINS-16669

Fix Summary:
The Cause instance needs to have a unique identity (when equals() is called), otherwise scheduleBuild() returns false - indicating that this job is already in the queue or has already been processed.