ModuleService#getSingleInput: skip unfillable inputs

If an input is unfillable (i.e., the ModuleItem's isAutoFill method
returns false), then it is intended that preprocessors not fill in the
input with any sort of preset or "active" data value.

For example, the ActiveDisplayPreprocessor should not fill in a Display
input with the active display if that input is marked autoFill=false.

This fixes a longstanding bug with the Active*Preprocessor classes,
which made it impossible to exclude inputs from being handled by them.

Fixes http://trac.imagej.net/ticket/2022.
Add a unit test to verify the getSingleInput fix

The test passes, but fails if the previous commit is reverted.
Merge branch 'skip-unfillable-inputs'

This branches fixes a longstanding bug in the autofilling preprocessor
logic, which would erroneously autofill inputs marked autoFill=false.