added validate_program_path and made curl use validated url, improved isUrl to prefix http unless :// detected