Improve completion of manufacturer/name in stock type dialog

Github issue #44 calls for better auto-completion of manufacturer and
item names in the stock type dialog.  It suggests completing based on
the "most used" value of the field.

This is actually a little bit difficult; how do we define usage?  Count
the number of stock items that could match?

Intuitively there was definitely *something* wrong with how we were
doing it - but what was it?  When there were multiple matches (eg. all
manufacturers starting 'M') it was essentially picking one at random; it
would probably be the first one ever to be entered into the till, but
that's undefined behaviour.

So, as an experiment, let's sort the manufacturer and stock item names
by length and then alphabetically when returning candidate completions.
This should at least provide consistent behaviour and, as the user
enters more characters, will provide longer matches - intuitively this
feels more sensible!

Comments please.