Bump parent pom

Updated to the latest pom-scijava: 3.5
Bump to next development cycle

Signed-off-by: Jenkins <jenkins@dev.loci.wisc.edu>
Add capacity for type aliasing module inputs

Added methods ot the Converter class for identifying the Input and
Output classes that can be converted between, and the populateInputs
method - allowing Converters the potential to point consumers to
potential input objects that can certainly be converted to appropriate
output objects.

Added API to the ConvertService to take advantage of the new Converter methods
- aggregating the potential input objects from converters matching a queried
output type.
Harvest convertible module inputs

When harvesting inputs via WidgetModel, inputs that are convertible to
the desired type will now be added to the object pool and automatically
converted when set as a module input's value.
Rephrase javadoc

Clarified the Converter javadoc, from suggestions by ctrueden.
ConvertService: return collection

Instead of returning a List of input candidates, we can generalize to
Collection.
Converter: remove abstract getXXXType methods

Instead of passing Class instances via constructors, concrete objects
should just implement the methods with an appropriate return value, for
consistency across SJC.
Refactor populateInputs method

* Now accepts Collection instead of just Set
* Renamed to populateInputCandidates for clarity
AbstractConverter: rephrase javadoc

Updated javadoc for clarity, as written by ctrueden
WidgetModel: rename converted objects collection

convertedObjectPool > convertedObjects, to simplify and avoid confusion
with "objectPool".
WidgetModel: typo fixes

Fixed typos in the WidgetModel javadoc.
Add getCompatibleInputs test

Added a unit test for the ConvertService#getCompatibleInputs method.
ConvertService: use LinkedHashSet

When collecting input candidates, use a LinkedHashSet instead of a
HashSet. This will preserve the ordering of the candidates.
Converter: add type parameters

Added generic parameters for input and output types of the Covnerter
class. The return values for getInput and getOutput type methods have
been updated appropriately.
Merge pull request #123 from scijava/convertable-inputs

Converters can now populate candidate input lists when their output types are requested.
Bump parent pom version

Updated to pom-scijava 3.6
Bump to next development cycle

Signed-off-by: Jenkins <jenkins@dev.loci.wisc.edu>
Add more boilerplate to AbstractConverter

The AbstractConverter class was leaving a lot of methods unimplemented.
Typically, most of these can be chained together.

The AbstractConverter now implements all but one convert and canConvert
signature.
ConvertServiceTest: remove unnecessary methods

Removed unnecessary implementations for dummy classes, as these methods
are now taken care of in the abstract layer.
Create NullConverter

Adds a new Converter type to handle null source or destination types.

Without this converter, the null logic was managed in a mix between
AbstractConverter and DefaultConverter - which means that all converters
had some null logic in them (potentially wrong for that given converter)
and could not run before DefaultConverter, without copying its null
logic.