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