Unbind the config_dict from cookiecutter(). Allow it to be passed as an argument.

Allow the initial `config_dict` to be passed as an argument to the `cookiecuter()` function rather than impose the default user config from within `cookiecutter()`. 

Note that `main()` still runs though `get_user_config()` for the CLI aspect of Cookiecutter.  For the user that is composing Cookiecutter in a larger python program, they can decide what `config_dict` is when calling `cookiecutter()` from within python assuming they make it conform to the expected keys defined in `config.DEFAULT_CONFIG`