Implement remaining bits of the functions model
Make the move logic a bit clearer
Simplify updates by performing a full resort

This results in fewer updates that the view needs to respond to, and means
we can append new rows instead of inserting them in their sorted positions.
Always appending seems to avoid a bug in QQmlDelegateModel where the view
gets out of sync.
Update the current function when the current module changes
Fix the probe script update query
Fix log message function hyperlink
Simplify FunctionDialog model usage
Simplify UI logic by using the new models API
Remove unused functions.hasProbe() helper