Improve Quantity model

Add equals(Any) and hashCode overrides
Update tests to use matcher syntax.