There are two issues being addressed by this patch that are both fine, but should probably be in two patches so that the history is a bit more clear on what's going on.
The first issue of moving around the supervision tree is fine and looks good to me though I'm not super knowledgeable on all the finer intricacies of OTP so I could be missing something.
The second bit has to do with only passing exported functions to couch_config. I think the changes for this are good (though not comprehensive). But I think the parts of the patch dealing with the config system would be better as a standalone patch. I realize that this might mean making one patch for the config system and then moving some of that code with a second patch for the supervision tree, but the clarity in the history would be well served by signaling our intent here.
Also, there's a hunk that introduces a typo into the license header in couch_server_sup.erl:
-% License for the specific language governing permissions and limitations under
+% License for the specific languag governing permissions and limitations under
Other than that, LGTM.