Properly supporting locales in css

- fixing CSS locale URLs - the tag handler was previously outputting URLs for all locales (#741)
- adding a `Locale` class that replaces the locale String that was being passed around in the model.
  - the new Locale class contains all logic relating to locale formats and calculation
- throwing an exception when invalid locale pages are loaded - #716