Test coverage for Node class

Changes node class to meet getter and setter conventions
Adds a value attribute getter to the Node class
Creates factories for binary trees

One for each binary search trees and binary trees
Test coverage for binary tree depth first search
Implements BinaryTree#depth_first_search
Merge pull request #2 from ggw215/trees

Trees