Enforce required attributes when writing headers

    - Also split Location part of OtterException off to
      OtterInputException
    - Add setter chaining to the Header object
Also enforce required tag attributes on <it>, <bpt>, <ept> when writing.

    Also write out source language tuv first when available.
Make it impossible to create a locale-less TUV

    This also removes TUV.setLocale().
    This could be added back if I changed a bunch of stuff in the TU
    code.  Until there's a clear use case for this, TUV locale is
    going to  be immutable post-construction