Encoding and baseUrl can be specified for html

Some HTML documents may have incorrect meta tags which puts libxml out
of its default utf-8 parsing mode.  Allow these optional parameters to
parseHtml so users can have control of this in theses situations.
remove strdup, provide defaults for fromHtml

Strdup is not good c++ style and is unnecessary for accessing char* data
from v8.  Also allow for sane defaults to be provided to the fromHtml
function.
Test exposing SEGFAULT in XmlNode destructor

When you remove a node from the XmlTree, libxml removes that node and
all of its children from the tree, but doesn't free that memory.
However, these libxml nodes maybe referenced by libxmljs XmlNode's.  So,
when those  XmlNodes' destructors are called, it causes us to try to
doulbe free that memory.
Reverting strdup change
Trying c++ instantiation to satisfy travis ci
Merge branch 'feature/double_free' into feature/temp_segfault_fix
Temporary fix for encoding and segfault bug
Merge remote-tracking branch 'origin/feature/temp_segfault_fix' into feature/enable_parsing_options

Conflicts:
	src/xml_document.cc