Make AIDL Validation logic independent from language

1. split 'validation phase' into 'registration' and 'validation'
2. copy validation logic from type_namespace to aidl_language

Bug: 110967839

Test: m -j
Test: ./runtests.sh
Test: build & boot

Change-Id: Ibfc0fe4cd4c50b7c91acf3df40e0cdbf5cc2383d
5 files changed