Added code for signal dependency. Now wire assigns etc will be triggered
when any signal used in its expression changes.
e.g. for assign w = a + b
then will be recomputed id a or b changes.

Also created new Exception class and used it to indicate infinite loops.