Move general operations on annotations to annotations.kt
Move utility types and functions to util package
Add declaration features
Remove duplicated code in method hierarchy construction (and OverridentMethodTest)
DataHolder is no longer used
Move graph utilities to separate "graphs" subpackage
Add generic graph types
Add default implementation of equals/hashCode/toString
Refactor hierarchy graphs
Generify topological sorting
Add build methods to graph builder classes
Refactor dependency graphs
Avoid edge duplication
Node map for class hierarchy is not necessary
Parameterize GraphBuiderImpl with graph type
Delete GraphBuilder interface
Rename GraphBuilderImpl to GraphBuilder