Handle omnifunc returning dict with 'words'
Removing falsy items from omnifunc returned items

Depending on the omnifunc the user has set, it could return empty strings etc in
the list of items.

Fixes #146, fixes #147