validateInput
[ This is the top level entry point for validating the options provided. ]
@param { Object } options                                               [ This is a container object for the partials-loader to use. ]
@param { Object } options.engine_reference                              [ This is the template engine that the partials files found will be registered with. ]
@param { String or Array of Strings } options.template_root_directories [ These are the template root directories that will be recursively searched through. ]
@param { String or Array of Strings } options.partials_directory_names  [ These are the directory names that will be matched against in order to identify a directory to recurse through for loading partials files. SPECIAL CHARACTERS: if the character '.' is passed in, this will indicate to the partials loader that the template directory itself should be loaded as a partials directory. If it is passed in with an array of other strings the '.' will take precedence and will just iterate from the template directory down. ]
@param { String OR Array of Strings } options.template_extensions       [ These are the extensions of the template files to load. ]
@param { String } options.delimiter_symbol                              [ This is the delimiter used for namespacing, when files are loaded their directories are separated by this value. ]
@return { undefined }                                                   [ This returns nothing. ]
function(options) {
	// TODO: validate that the strings passed in don't have invalid characters either
	if(options.engine_reference) {
		validateEngineReference(options.engine_reference)
	}
	else {
		new Error('An engine reference is a required property in order to use partial-loader. Please provide this in the functional that calls this.')
	}

	if(options.template_root_directories) {
		options.template_root_directories = validateTemplateRootDirectories(options.template_root_directories);
	}
	else {
		new Error('The "template_root_directories" is a required property in order to use partial-loader. Please provide this in the function that calls this.')
	}

	if(options.partials_directory_names) {
		options.partials_directory_names = validatePartialDirectoryNames(options.partials_directory_names);
	}
	else {
		new Error('The "template_partials_directory(s)" is a required property in order to use partial-loader. Please provide this in the functional that calls this.')
	}

	if(options.template_extensions) {
		options.template_extensions = validateTemplateExtensions(options.template_extensions);
	}
	else {
		new Error('The "template_extensions" is a required property in order to use partial-loader. Please provide this in the functional that calls this.')
	}
}