Add a validate_url function

Currently there is no way in puppet to verify that a value is a proper URL string. Consequently values that are assumed to be URLs are passed on to applications that are expecting URLs, causing unexpected or undesired behavior. This patch provides a puppet function that can be called to verify that its argument is a proper URL string.

Was originally a validate_uri function, but URIs are flexible enough that validating that something was a URI string didn't always give the expected behavior.