Generator: abstract a StreamGenerator

abstract the StreamWriter capabilities to StreamGenerator to allow
Generators based on different writers (i.e. BinaryWriter)
MoGenerator: Generate binary mo files

Generate .mo files, because it's possible.
MoGenerator: fix offset, ensure uint

Fix the main offset, and ensure we write uint
MoGenerator: write context and gender

Write the context (composed of the context and the gender) to the .mo file
MoGenerator: add license
Merge branch 'mo_generator' of git://github.com/StephaneDelcroix/vernacular into StephaneDelcroix-mo_generator