Easier debugging via g:lift#debug_messages

A new g:lift#debug_messages is now honored. It must be an integer which
corresponds to the verbosity level of the debug messages. Debug messages
are produced with s:dbgmsg(). Some calls to aid general debugging of
completion issues are already added in this patch.
Always define 'abbr' item when making completion dict items

When converting a completion candidate to a dictionary, define also the 'abbr'
key in it. Not doing so makes NeoVim (and probably Vim) behave funnily.
Fix usage of non-dictionary when converting items

Instead of using 'mm', use always 'd' in the branch of the code that does the
conversion of plain strings to dictionaries, as 'd' is always guaranteed to be
a dictionary. Also, undefine 'mm' earlier to catch potential future coding
errors.
Remove gratuitious +1 in calculation of longest source name
Automatically select first completion candidate on menu popup
Use [Neo]Vim's duplicate completion detection

Instead of using our own. This should be faster, though it can affect the
number of items returned by each completion source. It is unlikely that
sources will return duplicate items, though, so in general it seems like
a good idea to let the editor handle the duplicates.
Add tips section in the documentation
Add missing subsection hyperlink in sources documentation section
Add known-to-work list of plug-ins in README
Revert "Automatically select first completion candidate on menu popup"

This reverts commit 7d8398db82c6e782dd61ba959c7ce1138c304a51.