Use a typedef for monetary values

Replaces int64_t with a typedef in all monetary contexts.

See #4067 for a more thorough description of this patch and associated context.
Why change the initialization order?