ConvertServiceTest: clean up code

* Removed unnecessary methods
* Removed unnecessary annotations
* Removed causes of Eclipse warnings
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.
ConvertServiceTest: add null tests

Ensure the null converter is behaving as intended.
Refactor Converter layers

Refactors AbstractConverter and DefaultConverter to take into account
the new NullConverter and the migration of boilerplate to
AbstractConverter.

Key points:
* Control flow at the abstract layer attempts to preserve the Type if
  given, as this contains information that can be lost in a Class.
* Removed several delegating method implementations from DefaultConverter