Add feature to cache helm-gtags-select and helm-gtags-select-path
result.

The feature can be configured by helm-gtags-cache-select-result and
helm-gtags-cache-max-result-size.

The caches are saved in a hash table helm-gtags-result-cache using keys
like "/path/to/src/GTAGS" and "/path/to/src/GPATH". The hash values are
global -c or global -Poa output.

The caches are rebuilt if the GTAGS or GPATH mtime is different with the
cache moment mtime.

helm-gtags-clear-cache and helm-gtags-clear-all-cache are for clearing
caches.