Update Commit

Removed try...catch blocks and added proper exception types as well as
additional exceptions.

Reversed recursiveGetAll method to return elements in order from least
to greatest.

Added intermediary methods for each recursive method that sends the root
node instead of calling each recursive method with root directly.

Removed redundant constructor instantiations.

Modified several conditionals to check explicitly for null instead of
checking if it is the correct type.