PICARD-561: keep collections ordered like on the website

Collections submenu is now completely rebuilt on updates, though i don't think it will cause any issue.
Fix Refresh action

```
AttributeError: 'CollectionMenu' object has no attribute 'refresh_action'
```
Add %_trackindex% to fix Picard-527 ...

... for e.g. Vinyl whose tracks are numbered A1, A2, ..., B1, B2, ...
Add NEWS.txt
Hide whatsthis button from dialog boxes

Whatsthis button does not do anything.
Move common code to a new PicardDialog class...

... and make existing dialogs sub-classes of this.
Sort collections list in a similar way than on the website

Not perfect, but simple enough.
Improve script check for number of args.

Remove the need for specifying check_argcount=False if function uses
*args.

expected_args is now a 2-value tuple with lower and upper range of
argument counts.

Also, looks like a bug in calc if there were defaults.

Commented print string left in so correct range can be verified if
needed.
Switch to ~musicbrainz_tracknumber
Merge pull request #251 from Sophist-UK/sophist_add_trackid_variable_Picard-527

Add %_musicbrainz_tracknumber% to fix Picard-527 ...
Merge branch 'Sophist-UK-sophist_better_script_functions_num_args_check'
Use namedtuples for repeated access to the same elements

The position of the elements int he tuple have a meaning, this helps
understanding it when reading the code.
Reorder imports
Use None to denote a missing upper bound for script function arguments
Remove a commented print statement
Merge branch 'sophist_hide_whatsthis_button' of github.com:Sophist-UK/picard
Merge pull request #244 from zas/order_collections

PICARD-561: keep collections ordered like on the website
self.log -> log

Forgotten during https://github.com/musicbrainz/picard/commit/201cdc269c66808bbc86fd1afccee216aa7585d9