Prototype the use of auto-complete mode

Fairly large change, based on auto-complete-clang-async.
Other features should be unaffected. The completion-at-point
interface has been completely removed as it was inferior.