Extend build graph with different edge types
The automatic build graph should have different edge types:
- depends
- makedepends
- checkdepends
These edge types can be used for:
- visualization of the graph
- proper build order (combined depends/makedepends plus checkdepends)
- used in different strategies to break up cycles (checkdepends edges can have a second pass after building with no checks)