SuperTabCodeComplete: handle dict return value from Func

If the first function in the chain returns a dict, instead of just a
list of words, look at (the length of) results.words.

NOTE: if results.refresh is set to "always" (as with YouCompleteMe), we
might want to return the empty list anyway, which would allow the
function to stay in the loop.

> || (has_key(results, 'refresh') && results.refresh == 'always')
Merge remote-tracking branch 'blueyed/fix-chaining-with-dict-results'