Fix source output, add replace actions

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, with an option for a prompt) and leaves narrowing to Unite. It also adds the ability to replace the word under the cursor, or all of its occurrences in the buffer, with the selected candidate (crucial if the Unite interface is to be used as replacement for `z=`) as well as improving Unite integration, adding a project README in lieu of docs, and some general refactoring and style cleanup.