Dependencies Stored Multiple Times

While investigating another bug regarding REClipse, I encountered a bug in REScala. REScala stores dependencies multiple times under certain circumstances (when variables are re-evaluated). This does not make any sense. Hence, I fixed this problem and wrote a dependencies test suite.

The `dependOn` / `dependents` attribute should not be altered directly, but through the respective methods such as `addDependOn`. In order to prevent direct manipulation, I thought about defining the attributes as private, but this makes testing more difficult: Either one writes getter methods just for testing purposes (I hate having methods just for testing purposes) or one uses reflection (but I was not able to get the attributes of the trait via reflection :( ).