(*) Refactored .GetDependants()

(*) Renamed .GetDependencies() to .GetPrecedents()
(*) Renamed .GetDependenciesReverse() to .GetDependants()
(*) Refactored the respective implementations
(+) Added more tests