Simple tree class
Simple tree class
Clarified names and comments, added robot to world

Changed WorldNode name to Node. Created a base robot class. Added
comments where needed.
Merge branch 'Work-Antoine' of https://github.com/ZeroUltimax/Final_AI into Work-Antoine
Removed tree class, unused.
Made exceptions runtime

Let's not bother with catching exceptions, since we know they're not
supposed to happen. (For now)
Added edge traversal.

A robot can move from a node to another through an edge using the
traverse method.
Added get parent method for node.

In the graph/tree representation, the parent node is the one that
connects to edge 0. Exception to that is node 0, which is the root of
the tree.
Added node related methods to World class

-Clone which node the robot is on
-getting which node the robot is on
-Adding node (incomplete)
Created hypothesis class

-expanding hypothesis (incomplete)
-validating hypotheses
-collapsing implied hypothesis
-getting unconnected hypothesis
Added isOpen method.
Implemented functions to world

- Add a new node
- Get a list of open nodes with a certain degree
- Very useful for expanding hypotheses
- Move robot from it's position to a neighboring node
Added node junction methods

Methods to create an edge from one node to another
- Cross to: create crossing edge to node
- Set parent off: Create main edge to node
Completed hypothesis expansion

- Hypothesis contruction
- expansion method complete
- Create unconnected hypothesis first
- Create connected hypothesis after
Merge remote-tracking branch 'origin/Work-Antoine' into Work-Eric