Updated service XML Parsing (again!)

Upon testing with additional UPnP devices, I got numerous errors due to
service description files not following the ordering described by UPnP
documentation. Due to lack of strict schema by the UPnP organization, I
have relaxed my local schema and streamlined my XML processing.

Now XML elements are searched for breadthwise before being accessed, and
text is read back with the getTextContent() command. This should make
configuration more robust and also make the code more readable.