Fix pass completion syntax and autoloading

When TAB is pressed, sometimes the following error appears:

  _values:compvalues:10: not enough arguments

From robbyrussell/oh-my-zsh#2846:

> It seems like this does not happen if I have passwords in pass.
> Only happens when pass is "empty".

This is due to lines 104 and 118, where there are the only `_values'
statements. If we follow the execution path it is also confirmed that
the responsible for that error is `_pass_complete_entries_helper()'.

The only thing left to try is the statement inside `$()', which returns
nothing. The output is blank, so `_values' only receives 1 of its 2
mandatory parameters.

To solve it, we wrap the `$()' argument inside double quotes. That way
even if the output of such command is blank, `_values' still receives
2 of its 2 mandatory parameters, therefore not complaining anymore.

This patch also fixes the first tab completion, which is dedicated to
loading the completion function instead of autoloading it properly.
We do this by adding a `_pass' statement at the end of the file, just
like any other completion file does and *needs* to do.