Pretty print XML preserving literals & squashing blank lines

Fixes #11.

Technically speaking, all whitespace is significant in XML as described here:
http://www.oracle.com/technetwork/articles/wang-whitespace-092897.html

For practical purposes, as long as we leave TEXT literals alone (text between
elements), we should be OK.

xmlformatter does not depend on any external Python libraries and appers to do a great job,
xml.dom.minidom is known to be terrible as noted here:
http://ronrothman.com/public/leftbraned/xml-dom-minidom-toprettyxml-and-silly-whitespace/
remove unused import & only declare version in __init__.py
Merge pull request #13 from winny-/master

Fix XML pretty-printing & import __version__ into setup.py

Target this for a 0.5 release.
Bump version
Split core functionality and main function so that setup.py can import __version__