Update the public API of the library

Move code around to hide parts that we want to protect, keeping the
public API exposed through the gettextutils and log modules. There
shouldn't be any changes to the code other than what is required to make
the moves work.

Change-Id: I135c535983b74a2e72d9ed133d3f3062752187ef