fix Issue 13446 - Can't use executeShell/escapeShellFileName to redirect to file whose name starts with &

https://issues.dlang.org/show_bug.cgi?id=13446
`startsWith` and `endsWith` should compile down to a length check + memcmp when the needle and haystack are both arrays (or some chars) and have the same character type.