More permissive checking whether lxml is there, easier to switch on and off.

--HG--
branch : 1.8
Use duck-typing instead of version.

--HG--
branch : 1.8
Prevent samples from being included in dist.

--HG--
branch : 1.8
Remove encoding declarations for compatbility with lxml

--HG--
branch : 1.8
Rationalise compatibility import

--HG--
branch : 1.8
Reorganise imports

--HG--
branch : 1.8
Remove alias for os.path

--HG--
branch : 1.8
Added charts to docs TOC

--HG--
branch : 1.8
Reorganise imports.

--HG--
branch : 1.8
Make LXML a module constant.

--HG--
branch : 1.8
Remove encoding declaration.

--HG--
branch : 1.8
Removed duplicate assignment.

--HG--
branch : 1.8
_get_xml_iter refactored to be more robust across Python versions and tests added.
Compatibility alias for tempfiles across Python versions: file in Python 2 but io.BufferedRandom in Python 3.

--HG--
branch : 1.8
safe_string ensures consistent formatting of floating points, hack removed from tests.

--HG--
branch : 1.8