add caching to currencies
get some locale tests passing
add support for layouts and raise errors when locales aren't supported
get basic tests passing