Issue #4461 UriProtocol function is case sensitive

Created tests for and corrected two issues with the UriProtocol function in dutil

protocol strings are now compared case insensitive and the ftp scheme was incorrectly being mapped to URI_PROCOL::URI_PROTOCOL_FILE

WIXBUG:4461 UriProtocol function is case sensitive
I would store the length so it only has to be calculated once.