Fix source output

The current implementation will not display the suggestions in the Unite window as it bases the suggestions on `context.input`, which Unite also uses to filter the displayed suggestions. As none of these match the original string, the Unite buffer is always empty, and as the source is declared volatile, that remains so, whatever the user might narrow to.

This fork re-implements suggestion gathering to use an argument (defaulting to the word under the cursor) and leaves narrowing to Unite. It also adds some Unite decorations, a project README, and does some general refactoring and style cleanup.