run a full build if build was triggered by upstream (snapshot dependency)

Given a maven job is configured for incremental build + snapshot trigger
When both SCM changes are detected, + a snapshot has been rebuilt, two builds are scheduled. If queue is already full, those two scheduled builds are merged in queue.
As a result, incremental build will rebuild maven modules affected by SCM changes, but ignore snapshot dependency updates that would have required a full build.

Proposed change is to detect the build cause includes UpstreamCause, not just SCMTriggerCause, and then force a full build.

Is it intentional that this last clause is using `&&` not `||`? Without a test covering the described behavior it is very difficult to follow the reasoning here.