Add a random fruit query to the basho bench driver

Add a query operation to the Yokozuna basho bench driver that will run
random queries against the fruit data-load.

    {random_fruit_search, FL, MaxTerms, MaxCardinality}

* FL - The `fl` (field list) param sent to Yokozuna.

* MaxTerms - The number of terms used per-query is random but can be
  capped to a maximum with this param.

* MaxCardinality - The maximum cardinality of a term in the query.
  E.g. if set to 10000 then no term will match more than 10000
  documents.
Add yz-fprof header for search resource

Allow user to pass `yz-fprof: <filename>` header to the search
end-point.  This will invoke fprof analysis and save it in the CWD of
the Riak process under the name `<filename>.analysis`.  This analysis
can be expensive so its primary use is development.  It may be called
in production but should be done sparingly and only when necessary.
Fix mfa_valgen/cache server in basho bench driver

* The first worker should start the mfa/cache server so it's ready to
  go by the time all workers are up.

* Don't shutdown the server once cache is call used up.  Instead stick
  around so that all workers can see finished event.  Otherwise the
  workers might `noproc` trying to request a value from the cache
  server.
Merge branch 'master' into rz-random-fruit-query
Check for `yz-fprof` header later in request

Check for the `yz-fprof` header later in the search request lifecycle
since one of the unit tests calls `service_available` directly.
Merge pull request #100 from basho/rz-random-fruit-query

Various additions to bench driver + fprof header for search