bstr: speed up bstr_find by avoiding bstr_splice

Avoid using bstr_splice to return new bstr structs in a loop. We can
just change the start member of the local copy of haystack. Also limit
the search range since the needle cannot be bigger than the (remaining)
haystack.
config: speed up wildcard option lookup

Replace a compare on the result of bstr_splice by the inline function
bstr_startswith (which has the same result)