In TemporalSupport update_object, copy the 'changes' input list so we delete from our own copy and don't change our input.
Make a liminfra-shell warning a bit prettier.
Fix the output of the 'changes' command if a record had no changes wrt the previous record.
Add Change support to the liminfra shell. Using the new 'set' command, changes to an account or SIM can be queued. Then, using 'changes' they can be listed, using 'commit' they can be committed (on a particular date) and using 'rollback' they can be cancelled.
Amend list_invoice() so that if it gets no account_id parameter, it returns all invoices.