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 
Maybe we need to make a step backwards and agree on what binary operations like `subtract`, `add` etc should return according to the types involved. Thinking about this it seems that the class issuing the operation is the discriminator

| Class type | Argument Type | Operation | Resulting type|
|---|----|----|---|
|Money|Money|Subtract|Money|
|NullMoney|Money|Subtract|NullMoney|
|NullMoney|NullMoney|Subtract|NullMoney|
|Money|NullMoney|Subtract|Money|

Ideas?