Transparent NullMoney operations

Operations relative to other MoneyInterfaces objects are now
transparent (they do not return $this, but the comprared Money object).
This avoids that issuing such operations between Money and NullMoney
would return NullMoney instead of Money objects.

Setters were also deleted from MoneyInterface, since objects
implementing this interface will be value objects.

See issue #292 
In fact, there's no endless loop, since before the first iteration you're comparing with a new `Money` object, but this can be problematic because `getCurrency` may return `null` on comparisons with `NullMoney`.

The `-1` return is ok to me, but can be troublesome if you use `compareTo` to sort a collection of `Money`. Just having this in mind.