URL Parser

Break a URL into its components: protocol, host, port, path, query string.