function _createNode(doc, nodeName, opts) {
	var tempNode = doc.createElement(nodeName);

	if (opts) {
		if (opts.attr) {
			$(tempNode).attr(opts.attr);
		}

		if (opts.children) {
			$.each(opts.children, function (key, value) {
				tempNode.appendChild(value);
			});
		}

		if (opts.text !== null && opts.text !== undefined) {
			tempNode.appendChild(doc.createTextNode(opts.text));
		}
	}

	return tempNode;
}
Create an XML node and add any children, attributes, etc without needing to
be verbose in the DOM.

@param  {object} doc      XML document
@param  {string} nodeName Node name
@param  {object} opts     Options - can be `attr` (attributes), `children`
  (child nodes) and `text` (text content)
@return {node}            Created node