Refactored SubtitleSet a bit

Store the body element when when we initialize our TTML.  We use it a
lot and this makes it simpler/faster to lookup.  Added some
convenience methdos for finding our DIVs.

Changed how we create our <p> in append_subtitle().  I think the new
method is easier to understand and a bit cleaner.  Also changed how we
create the <div> when new_paragraph is True.
Couple of fixes for my recent changes.

I finally understand that we can create multiple <div>s in our TTML
document.  We create a new one for each new paragraph.  This led to 2
fixes:

  - In set_language(), don't set the language on the <div> element.
    There's really no reason since we set it on the <ttml> element,
    and it doesn't work if we create additional <div>s.

  - In merge_subtitles(), we were only copying the first <div>.  Now
    we copy all divs and put them in another div that stores the
    xml:lang attribute.
Simplified namespaced xml attribute names

Added some extra constants to make it simpler to create XML
tag/attribute names.  "XML + 'lang'" is way simpler to type then
"'{%s}lang' % XML_NAMESPACE_URL".
Added new class to load subtitles

This new class supports custom layout/region sections.  This is nice
because we can change them from the amara repository without having to
change the babelsbus repo.  I also think the API of this class is
nicer than the old ways.

In the new class we create the TTML shell using etree objects instead
of fromstring().  I think this a bit cleaner than the old way,
although it's more verbose.  It also seems to improve the pretty_print
output.

Moved XML namespace names into a separate module.