Include leif

Fix #58

Notable changes:

- Fix encoding handling, see
  http://lxml.de/FAQ.html#why-can-t-lxml-parse-my-xml-from-unicode-strings

- Add helper class for session exchange, so that the discovery classes
  use the same machinery for networking