Codec3 + Numeric interface

the numeric interface lets value objects (eg. value customs) perform numeric-like operations while still having the option to be clear that they aren't wrapping java Number objects and that their type may return CUSTOM. It isn't perfect, but it'll do for now.