[FIX] : If request.source is set in SearchRequestBuilder use that on toString.

If toString() is called on SearchRequestBuilder it will erase any source that has been
set to the request(). This means that toString() is destructive and changes the behavior of
SearchRequestBuilder. This commit checks to see if request has a source and uses that instead.

See #7317