code: def get_node_attribute(self, node, attribute_name):
          
          if not self.has_node(node):
              raise ValueError("No such node exists.")
          elif attribute_name not in self._node_attributes[node]:
              raise ValueError("No such attribute exists.")
          else:
              return copy.\
                  copy(self._node_attributes[node][attribute_name])
docs: Given a node and the name of an attribute, get a copy
          of that node's attribute.
  
          :param node: reference to the node to retrieve the attribute of.
          :param attribute_name: name of the attribute to retrieve.
          :returns: attribute value of the attribute_name key for the
                  specified node.
          :raises: ValueError -- No such node exists.
          :raises: ValueError -- No such attribute exists.