rename `_xml_get_value()` to `get()` and move into `TDL` class'
Make doc optional for `get()` and use available `self.doc` when empty
Make `get()` always remove the node object and support returning multiple objects as well for iterations
Move to using lxml (lxml.de) instead of libxml2 directly.

Initial pass

It is far easier to get lxml installed via pip in a virtualenv than it is to libxml2 bindings when using `--no-site-packages` (default in virtualenv)
* Rename `get()` to `node()` and `node_text()` as lxml uses `get()` for property fetching
* `node()` provides a direct `Element` lxml class
* `node()` can return 1 or more nodes if specifically asked to
* `node_text()` gives the contents of the node
* `get()` in lxml has a default option
Add lxml to requirements.txt