Dump current AIDL API and make sure that it is always updated

Previously, the API directory (which is usually ./api directory) was
updated only when the new version of the AIDL interface is created.
This was not ideal as 1) comparing the differences since the last
version is difficult (because the new dump is stored in a new
directory), and 2) the review is done quite late in time.

This change makes the AIDL API review process be similar to that of
regular Java APIs. Whenever an AIDL interface is updated, it is compared
against the 'current' dump of the interface. Whenever there is a
difference, users are instructed to update the current dump by invoking
`m <name>-update-api`. Since this will update the api directory, the
change has to be reviewed by the AIDL API reviewers. The current can be
frozen to a new version by invoking `m <name>-freeze-api` as before.

Bug: 147433177
Test: m
Test: m test-piece-1-update-api; api_dir/current is created
Test: m test-piece-1-freeze-api; api_dir/4 is created and Android.bp is
updated
Test: modify IFoo.aidl and run m. The build fails with the error message
suggesting to run `m test-piece-1-update-api`

Merged-In: I1e305027311cb065f872e4a11f62bcf95629a1df
(cherry picked from commit 5d9c28bfebdbdc9f7916e036c8be087ccc6f13ab)
Change-Id: I1e305027311cb065f872e4a11f62bcf95629a1df
4 files changed