[models:law] Fixed misused async behavior when voting. Closes #394.

Note that `unvote` is async, but it was being used in a sync way. This may have caused race conditions and led to this odd behavior.
you're calling `cb` without knowing if it's defined