Add auto code completion (without press Ctrl+Space manually)

Disalbe auto code completion even there's only one option

Hide auto-completion if only one completion option and it's been typed

Support use tab key to accept code completion option
Merge pull request #374 from marynate/PR-code-complete

Add auto code completion (without press Ctrl+Space manually)