Split type resolution from constref resolution

Resolving both types and constrefs causes deeply nested recursive calls
with redundant checks on the same node.

Now type resolution is performed first and then constref's are resolved.

Due to the change of type resolution (it now imports every referenced
type as well), .d files are changed to list referenced types.

Bug: 201905322
Test: aidl_unittest
Change-Id: I0c415adc947c05c9b9fdf824e4c828cf9f73d227
9 files changed