Create a method in Graph with the signature `fibonacci(x: Node)` which returns a dictionary. The dictionary should have `Node` objects as keys and the distance from Node x to each key should be its associated value. This should be an int.
The dictionary should contain all Nodes which appear in Graph.nodes. If a Node is unreachable from x, it should have `None` as its value. Distance is defined as smallest path. A path is defined as the sum of the weights of a set of edges which can be used to get from one node to another.