Add documentation for preprocess option
Force callback return to be a string

In the awkward case when a user returned in inappropriate value
(`undefined`, number, boolean, etc.) we should coerce it to a string so
that lunr gets a string as expected.
Be more explicit on type coercion

The by product will also mean more meaningful garbage output so the user
who made a mistake and figure it out easier. That is if it was
unintentional.

According to my research toString is not available or possibly
discouraged on the values null and undefined. So by using String()
instead it remains explicit and readable and can handle all cases.

Feel free to patch if I'm wrong.
Merge pull request #4 from sukima/feature/preprocess-option-in-readme

Add preprocess docs, fix garbage in/out bug