ArgumentException#getMessageAndUsage returns Usage (was String)

* This is more consistent with CommandLineParser#usage() and will
make it possible to set Usage properties (such as column width)
later on when they're introduced.

* Returning Usage instead of a String also makes it possible to
print the usage with a printOn(Appendable target) and avoiding
to keep large strings in memory (See #21).

* This also paves the way for solving #11