Fix before_url_report defaults

In Ruby, an empty string is true, so replacement with the default
before_url was never happening. Ditto with after_url_report.
Better detection of empty diffs

Check if a Diffy::Diff is an empty Enumerable, instead of depending
on the exact HTML output.

The output had changed from <div/> to <div></div>, but we shouldn't
care.
Properly unwrap items in NodeSet

When the 'document' variable is really a NodeSet, instead of a
Node/Document, unwrapping was broken. The element to be unwrapped
might have no parent, so trying to create siblings would not work.

Instead, we detect this case and splice the child nodes into the
NodeSet.
Use HTML instead of XML for parsing

Using XML-mode munges the HTML too much. It stomps on entities,
adds closing tags, does weird things to indentation, etc.

But HTML mode doesn't indent at all. So we use BeautifulSoup in
python to do our indentation, wheeee!
Merge pull request #8 from vasi/dev

Misc fixes from vasi