Optimisations

This integration has been updated to better handle large repositories, after experiencing slow performance and excessive memory usage while scanning a repository with a long commit history and 100s of branches.

As part of testing these changes the integration was run against the Linux kernel's repository on GitHub.  During that process it was undesirable to repeatedly re-clone it over a slow internet connection, so the AlwaysCloneOnStartup config setting has been added on a per-repository basis.  I thought the best default value would be false, which changes the current default - hope that's OK.

A side-effect of running integration tests against the Linux repo is it unexpectedly matched some backlog IDs (e.g. B-xxxxx) in your v1sdktesting instance, so some of Linus's commits will be there now and you might want to reset that environment.

Cheers

Ed