Add client-side search cache option

Added support for a new option to the `partial_search` and `search` methods called `:cache`.

If set to a non-`nil` or non-`false` value, if will:

1. Retrieve the search result from the cache (if available), and avoid the querying the server; and
2. Stores the result in the cache.

Updated `README.md` file to suit.

Licensed under the same terms as partial_search itself.