updating logging behavior to accept a logger as input

This is important because any custom defined logger will not be found
by the default behavior.

::Use Case 1-
	Get-Logger
	Log-Info "foo"

	Get-Logger will create a new logger using the name of the current script
	being run. Log-Info will look for a logger of the current invocation,
	moving up the invocation chain until if finds a logger with the same name.

::Use Case 2-
	$logger = Get-Logger "mycustomlogger"
	$logger | Log-Info "foo"

	Get-Logger will create a new logger using the name provided.
	Log-Info will use the logger from the pipeline to perform the logging
	operation. If no logger is present in the pipeline (or via parameter),
	see "Use Case 1" for Log-X behavior.