[#87372] DRY up available accounts

This moves most of the `#available_accounts` logic into `OrderDetail`, so both bulk account and one-at-a-time reassignment use the same logic to determine what accounts to list for reassignment.

*Almost* the same logic: the single order_detail version adds its order's account to the list if it's not already there, and I think it still makes sense in this context.
Do you think it would make sense to pull this logic into a method on account?