po/vi: import from Damned Lies
Updated Vietnamese translation
Updated Lithuanian translation
Updated Norwegian bokmål translation
Completion: greatly simplify interactive completion
Completion: update_completion() takes ownership of its parameters

And move the code so the prototype at the top can be removed.
Completion: simplify move_cursor()

Add some higher level functions in the CompletionModel.
Completion: use higher level CompletionModel's functions
CompletionModel: change iter_last() as static

Since this function is no longer used outside CompletionModel.
Adapt also the unit tests.
Completion: simplify visible_provider_changed()
Completion: rework move_page()

The previous code was hard to understand, because it was generic. A less
generic code is easier to understand, and it appears that it is shorter.
Completion: remove model from TreeView during move-page

The row-inserted and row-deleted signals are now useless, so it
simplifies the code of the model. And it is also more efficient.
Completion: various clean-up
Completion: simplify get_num_visible_providers()
CompletionModel: remove n_proposals()

It was used for checking if a provider is not empty. But if a provider
is present in the model, it means that it is not empty.
CompletionModel: better sectionning of the code

Some sections became very small, so they are now included in other, more
general, sections.