** TODO **

-  PTReader should provide line and column numbers when printing messages.

-  PTReader should use twisted.web.microdom so that it does not bail out so
   easily. More specifically it not require < and & to be escaped inside
   attribute values.

-  TEST sync command! Write tests.

-  Refactor and document what's spaghetti and undocumented.

-  untranslated.py does not handle xml namespaces, e.g. it just looks for an
   attribute 'i18n:translate' even if the tag itself is in the i18n namespace.

-  Sometimes untranslated.py spits out errors that are actually warnings. That
   happens for tal:replace and metal:use-macro tags that contain other tags.

