Money.empty enhancements

The memoization could be smarter in that it will store a different instance of Money.new(0) based on the type of the argument given, but I only wanted to reduce the number of Money.new(0) instances, not absolutely limit one instance per currency.