18663 - should be internationalized
18663 - should be internationalized

Small locale updates
18663 - should be internationalized

- Move exception classes to their own file
- Create a new coded exception class that has handling for exceptions
  by code with some implied logging etc
- Create a 'translatable' mixin that adds some glue to help map
  codes to developer friendly strings
- Update the runner and cache to use the new scheme