fix findbugs warning: Check for sign of bitwise operation

Check for sign of bitwise operation in
  bndtools.editor.BndEditor.resourceChanged(IResourceChangeEvent)

This method compares an expression such as
  ((event.detail & SWT.SELECTED) > 0)
Using bit arithmetic and then comparing with the greater than
operator can lead to unexpected results (of course depending
on the value of SWT.SELECTED). If SWT.SELECTED is a negative
number, this is a candidate for a bug. Even when SWT.SELECTED
is not negative, it seems good practice to use '!= 0' instead
of '> 0'.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
fix findbugs warning: Comparison of String parameter using == or !=

Comparison of String parameter using == or != in
  bndtools.editor.completion.BndSourceViewerConfiguration.getDefaultPrefixes(ISourceViewer, String)

This code compares a java.lang.String parameter for reference
equality using the == or != operators. Requiring callers to
pass only String constants or interned strings to a method is
unnecessarily fragile, and rarely leads to measurable performance
gains. Consider using the equals(Object) method instead.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
fix findbugs warning: .equals(Object) does not check for null argument

  bndtools.diff.ClassInfo.equals(Object)
does not check for null argument

This implementation of equals(Object) violates the contract defined by
java.lang.Object.equals() because it does not check for null being passed
as the argument. All equals() methods should return false if passed a
null value.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
fix findbugs warning: Possible null pointer dereference

Possible null pointer dereference of editResult in
  bndtools.editor.common.MapEntryCellModifier.modify(Object, String, Object)

There is a branch of statement that, if executed, guarantees that a
null value will be dereferenced, which would generate a
NullPointerException when the code is executed. Of course, the
problem might be that the branch or statement is infeasible and that
the null pointer exception can't ever be executed; deciding that is
beyond the ability of FindBugs.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
add findbugs target to ant build

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
findbugs: filter out j2se jars

They cause false findbugs warnings.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Added plugin templates for URLConnector plugins.
fix findbugs warning: inefficient use of keySet iterator instead of entrySet iterator

  bndtools.diff.JarDiff.compare()
makes inefficient use of keySet iterator instead of entrySet iterator

This method accesses the value of a Map entry, using a key that was
retrieved from a keySet iterator. It is more efficient to use an
iterator on the entrySet of the map, to avoid the Map.get(key) lookup.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
fix findbugs warning: Null passed for nonnull parameter

Null passed for nonnull parameter of
copyRunBundles(ProjectLauncher, File, MultiStatus) in
  bndtools.wizards.bndfile.ExecutableJarExportWizard.generateFolder(String)

This method call passes a null value for a nonnull method parameter.
Either the parameter is annotated as a parameter that should always
be nonnull, or analysis has shown that it will always be dereferenced.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
RepositoryImpl: always close used input streams

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
fix findbugs warning: Nullcheck of value previously dereferenced

Nullcheck of projectClasses at line 117 of value previously
dereferenced in bndtools.diff.JarDiff.compare()

A value is checked here to see whether it is null, but this value
can't be null because it was previously dereferenced and if it were
null a null pointer exception would have occurred at the earlier
dereference. Essentially, this code and the previous dereference
disagree as to whether this value is allowed to be null. Either the
check is redundant or the previous dereference is erroneous.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
fix findbugs warning: is or uses a map or set of URLs

bndtools.editor.project.OSGiFrameworkLabelProvider.images is or
uses a map or set of URLs, which can be a performance hog

This method or field is or uses a Map or Set of URLs. Since both
the equals and hashCode method of URL perform domain name resolution,
this can result in a big performance hit.
See http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html
for more information. Consider using java.net.URI instead.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Fix FB: mutable array
Pruned dead code
Fix FB warnings.
Fixed issue 401: editing -plugin overwrites -pluginpath.
Upgraded bootstrap CSS
Bootstrap patch to make our logo look nice
Converted main layout to new bootstrap
Bootstrap tweaks