Languages & Messages

This is an implementation of Languages and Messages based on the Ninja Framework, but completely rewritten.  This satisfies #8 and lays most of the ground work for #7.

There are several pre-cursor commits in this PR to enhance related APIs and to fix what I think is a bug in Response (character encoding handling).

I have not written any tests for this yet, but they are in progress and will be added unless this PR gets merged before I get the chance to push them.  Pushing early to prevent duplication of effort.