remove RemovePath

Generally:
- we do overwrite files (perhaps should stop, but for legacy
constraints)
- we ask build systems to clean the output directory before we run code
- if an error happens in a backend, it should be AIDL_FATAL, and we
  should attempt to fix things in the validation phase of the compiler
- if there is an I/O error, we should crash/report a fatal error, but
  avoid removing paths (for debuggability, and since there is an I/O
  issue, avoid doing additional I/O)
- if a user tries to use this file, and it's incomplete, then this is
  a way they can discover they aren't checking the error code from their
  compiler

Fixes: 201507504
Test: aidl_unittests
Change-Id: Id0360c2253d4e53a5e76bfbc1b5c83dc0aa491c4
6 files changed