added create_html_node function

Created a function called create_html_node to reduce the amount of code needed to create an HTML node. The function signature is create_html_node(node_type, attributes (array), parent_node, child_nodes (array), html_content (string))

Node Type takes a standard html node type (div, table, tr, td, img, etc)

Attributes takes an array of objects with the signature {name: attribute name, value: attribute value}

Parent node is where the created node will be attached to.

Child nodes accepts an array of create_html_node calls, and then appends all child nodes created this way into the main node.

Html content sets the innerHTML property of the node to the given value.

Also replaced all manual calls to create and set up nodes with the new function.
Converted setup_photo_links to create_html_node

Converted the manual node creation calls in the setup_photo_links to use the new create_html_node system instead.