unbreak gpicker-complete-list by using rare dir separator

We don't want dir/file separation at all in this case. So picking byte
1 as directory separator makes it effectively off.
gitignore gpicker.elc
note kbd macro in gpicker.el doc-header
require 'cl when compiling

Also officially require imenu as well
fixed save-excursion warning in gpicker.el
unbreak gpicker-call-find-function
don't mess with ido by default

There's experimental ido integration by it's quite broken and I don't
care much. So just don't activate it by default.
fixed and improved gpicker-imenu

Particularly nested items now work and *Rescan* works as well
addressed compiler warning about goto-line

It told me goto-line is user command.
implemented script project type inside gpicker.el

Project type script will spawn .gpicker-runner script inside project
instead of gpicker. That script can do any magic.

This is particulary useful for multi-repository projects. See
contrib/gpicker-runner-example
implemented better script project type in gpicker itself

.gpicker-script will be spawned from gpicker itself and only needs to
output \0 separated entries.
ship gpicker-script-example in source tarball
fail gpicker is child process exits with bad status
updated gnulib
addressed autoconf warning about AC_LANG_SOURCE
mention some new features in gpicker.el

Particularly imenu and isearch
Add mlocate chooser
Merge pull request #8 from avsej/master

Updates to gpicker.vim
made files_vector extern in header file
use gettimeofday (wall clock) for timing