Additional DISPATCH_TYPES macro improvements:

OIIO_DISPATCH_TYPES2 does two-level dispatching (i.e. specializes on two
different types), dispatching to function<type1,type2> blah (...).

OIIO_DISPATCH_COMMON_TYPES and OIIO_DISPATCH_COMMON_TYPES2 are like the
others, but only support float, uint8, half, and uint16, and failing for
other types, thus generating far fewer code variants, but still
effectively covering all the cases we're ever likely to see in the real
world.  This is especially handy for 2-level dispatch to very complex
functions, for which the full 9x9 set of specializations is just too much
code to generate.

I also eliminated support for UINT64 and INT64 from even the "non-common"
macros -- I don't think there are any image file formats that support this
data type, so it seems pointless to generate code for it.

I think the guideline should be that for fairly trivial utility
functions (for example, copying pixels from one image to another), use
the full-type-selection macros -- there's no reason to fail for any
type.  But for functions doing non-trivial work (compositing, say), use
the COMMON macros to generate code only for cases that we plausibly may
see.