Add optional findbugs report generation

Generate findbugs XML report with mvn findbugs:check

Includes a findbugs exclude filter file

Uses findbugs maven settings as modeled by Stephen Connolly in the
literate build plugin.
Use @NonNull annotation of getRepository method

Better describes the contract between getRepository and its callers,
and reduces findbugs output by declaring that contract.
Check return value of File.delete, log warning if file not deleted

Logging a warning if a file is not deleted seems safe and will help
locate cases where files are not being properly removed.
Make TIMEOUT and USE_CLI final since they are values of properties
Declare CliGitAPIImpl.launcher transient in case class or subclass is serialized
Remove uncalled private method getGitCredentialsURL(String, String)