Fixes for YZ dialzyer warnings

- Replace the function() type definitions with atom() in the multi-call* family of functions which were causing dialyzer warnings in yokozuna (and possibly other places). Atoms are being passed in, not functions.

- Introduce vlock:sort/1, which simply does a lists:sort on a vlock. Because the vclock type is an opaque type, doing the sort outside the vlock module causes dialyzer to warn as it requires looking at the internals of the vlock type, which is exactly what the -opaque keyword forbids.