Issue warnings properly

Use warnings module from the standard library to issue warnings
to the user.
Extend OptionsTranslator to BaseGenerator

In doing so:
* Fix backwards compatibility issues
* Improve the new list based option handling