CanonicalizeLocaleList() update.

I went back to the ECMA-402 and took another look at this method, and found out that I was following the spec exactly.  I think this should fix the problem with tests not running properly on Safari/MAC, but I won't know for sure until I see the results from TravisCI, since I'm having some trouble getting test:remote to work properly with Saucelabs.  Fixes #35 maybe...
Most of the code changes here are line for line out of the spec, so please don't shoot the messenger.