evalfunction.c: give FNCALL_OPTION_CACHED to more functions
Remove obsolete constraint (Closes Redmine #3721)

This limit no longer applies -- hash table implementation now uses
linked lists in buckets instead of open addressing.
Merge pull request #1102 from tzz/feature/redmine3578-tag-more-functions

evalfunction.c: give FNCALL_OPTION_CACHED to more functions
Merge pull request #1101 from dottedmag/bugfix/remove-old-readarray-limit

Remove obsolete constraint (Closes Redmine #3721)
Redmine#3283: add a check for non-matching query
Redmine#3283: StringSetFromString handles NULL strings.  New StringSetToBuffer function.
Redmine#3283: Add tags string parameter to all the class and variable creating functions.
Redmine#3283: Fix search logic in variablesmatching and classesmatching.
Redmine#3283: add a check for non-matching classesmatching query
Redmine#3283: tag all classes and variables created by all agents
Redmine#3283: fix classesmatching and make StringSetToBuffer take a single char
Redmine#3283: constify tags, fix tests, VariableNew takes a tags StringSet
Redmine#3283: find more places to tag through the magic of "git grep"
support flycheck-mode
Log promise iteration outcomes in enterprise
Merge pull request #1094 from tzz/feature/redmine3283-tag-everything-n-stuff

Redmine#3283: tag everything
Merge pull request #1133 from kacfengine/master

Turn off function caching to get up2date results after user promise.
Removing unneeded assert
Changing the API for lastseen DB

Changing the signature of two methods from arrays to pointers.
Fixing issues after integration

Even this is a half cooked implementation, there were some issues
that were not detected on time:
- The accept call in the server loop was removed with the intention
of moving it, but never added back.
- There was a dangling pointer causing strange issues.