Restructure the way we create/merge default configuration setttings
with user supplied settings.  Move cache estimate to its own function.