Simplified the URLMapping logic and added case insensitivity to domain matching

So we recently ran into a bug and realized that the domain matching in Rack::URLMap is case-sensitive, ahhhhh!!!! 

Anyway, I fixed it.

While exercising the tests I realized this bit <code>(!host && (hHost == sName || hHost == sName+':'+sPort))</code> was a case never exercised; is there something that I'm breaking by taking it out? All the tests are green.