settings: use git_buf for returning strings

This survived the last round of culling, as the signature is only in the
comments.
opts: bits are not bytes

The default cache size is 256 megabytes, not megabits as claimed in the
docs.