Make autoselection of the first completion configurable

By not pre-selecting anything it is possible to use the same key for
browsing and for selecting an item.

If you want that, set the new variable to zero:

    let g:acp_autoselectFirstCompletion = 0

(The Japanese translation comes from Google Translate and has not been
reviewed by someone who knows that language.  Any swearing is
accidental)
Improve acp#meetsForPythonOmni

Include a dot and the opening parenthesis.  Some omni completions can
tell you about function parameters and their defaults.
Use/Export a function to switch pum mappings and color

This hardcodes the behavior to <TAB> and <S-TAB> keys and you have to
define two highlights to not generate an error:

AcpCompletionColorReverse
AcpCompletionColorForward

The behavior will become configurable in later commits.  There will be
more explanation, then.
Make the popup menu color configurable

When the completion has been triggered in reverse mode (e.g. <C-P>) the
background is colored differently than in forward mode.  This way you
have a clue where to look for the most likely completion.

You can now define your own highlights and specify them as values for
configuration options.  You can specify the same one for both
directions.
Make the skip keys configurable

It is now possible to specify which keys should be used to select the
next and previous item in the completion menu.  See the documentation
for more.
Make the reversed key mapping optional

By default, the reversed menu (e.g. <C-P>) has the skip keys switched,
so that you can always use the same key (default: <TAB>) to complete
items.  It is now possible to turn that off.
Make it possible to update the pum after every typed character

If you want to add some completions to an already open pum you can set a
new variable to 1.

A use case would be if you want to use localcomplete after 2 keyword
chars, but don't want to add dictionary completions at that point
because that would add hundreds of words.  You can add the dictionary
completions at a later point, but if at that point the pum is still
open, the results will only be added when the new variable is 1.

Because it can be expensive (e.g.: RopeOmni) to check after every
character (and it is often useless) it can be set globally and
overridden per buffer:

    let g:acp_refeed_after_every_char = 1
    let b:acp_refeed_after_every_char = 0

Or vice versa.
Allow to refeed at particular word lengths

Always repeating a combined dialog can be expensive and in that case the
menu flashes more than necessary.  The new variables allow you to define
word lengths at which the popup menu is filled with new content. (Note:
it does only count alpha-numerical characters before the cursor)

You can define a global default and buffer local overrides:

    let g:acp_refeed_checkpoints = [5]
    let b:acp_refeed_checkpoints = [2, 4]
Add some examples to the documentation for g:acp_behavior
Add documentation for the menu update configurations
Turn the auto-selection off by default

That deviates from the normal ACP behavior. Much of the effort here is
about having just one key to browse and select.
Move the license from the README to COPYING
Include additional keyword characters into checkpoint calculation

It is now possible to include special characters when ACP counts the
leading word length for check points.  This is very similar to what
vim-localcomplete does.

Examples for the two variables:

    b:acp_keyword_chars_for_checkpoint = ':#'
    g:acp_keyword_chars_for_checkpoint = '&iskeyword'

The special value '&iskeyword' will count all keyword characters.