Fix odrefresh partial compilation.

When some artifacts are newly generated while some existing artifacts
are kept, odsign will try to sign all the artifacts, including the
existing ones. The signing will fail because the signatures for the
existing artifacts already exist in fs-verity, and odsign will remove
all artifacts when the signing fails.

This CL works around the problem by reading each existing artifact into
the memory, deleting it, and writing it back, which essentially removes
them from fs-verity so that odsign can sign them again as if they are
newly generated.

Note: This CL add a new dependency "libc++fs" to the ART module, which
increases the size of the ART APEX by 40KB (or 0.1%).

Bug: 205276874
Test: atest odsign_e2e_tests
Change-Id: I0003c8502977d74c6dadf958b2e7e558220bec81
7 files changed