Corrected the test bug when testing ValueObjectContractMatcher.
Added more checks to ValueObjectContractMatcher.

The checks are taken from the book "Effective Java, 2nd Edition" by
Josh Bloch.

Values objects in the library now checks against this matcher,
instead of using multiple methods.
Created TestUtils to ease testing.
Fixed bug in FXRate's break in value object contract adherence.
Updated MoneyTest to use TestUtils helper functions.
Implemented FXRate#inverse() to inverse the rates.

Need to add unit tests to test CurrencyPairConfiguration class.