Prevent completion using a funcref

Sometimes, providing just a pattern is not enough to prevent completion. For example, in PLSQL, for function arguments, we may have:
```
dbms_stats.gather_schema_stats(ownname => user,
  |<- completion should be possible
);
|<- here completion should be prevented
```
Providing a pattern is useless in these scenarios where the logic of determining if the completion should be allowed or not is much more complex. In Vorax for example (which is a vim IDE for Oracle), I parse the statement and, based on that, I can figure out if I must provide argument completion on the current cursor position or not. But this involves using a parser and looking at more than the current line. 

This patch addresses this kind of scenarios.