fix validation for nullable
add contraints for all money entities along with basic unit test
refactor common validator; allow specification of message, property name, and instance name
Merge branch 'exchange-rate-entity'