Give IndefiniteProgressMonitor a no-arg constructor

Since we only use default values, this makes sense.

Also improve some documentation/coding standards on Locus & SAMCodec
Add searchIncrement

 searchIncrement can be negative so we can search backwards as well as forwards, also we can have overlapping sliding windows (setter currently prevents this but could easily be changed)
Some refactoring/cleanup of FeatureTrack, GlobalKeyDispatcher
Implement cancellable searching for certain FeatureSources

PluginFeatureSource and SequenceMatchSource, hardset with instanceof right now. The dialog we use is pretty ugly and we should definitely show the user the region being searched, but it seems to work.