Factor locked_transfer into transfer_main, which brings various improvements for free (multiple addresses, proper detection of multiple payment ids, obeying the prompt settings). Also fix a few things, such as using uint64_t instead of int for block heights, actually checking whether getting blockchain height succeeded, etc.